gtk: Use new macros for defining private data
authorEmmanuele Bassi <ebassi@gnome.org>
Thu, 27 Jun 2013 19:02:52 +0000 (20:02 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Tue, 9 Jul 2013 08:30:02 +0000 (09:30 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=702996

174 files changed:
gtk/extract-strings [new file with mode: 0755]
gtk/gtkaboutdialog.c
gtk/gtkaccelgroup.c
gtk/gtkaccellabel.c
gtk/gtkaccessible.c
gtk/gtkaction.c
gtk/gtkactiongroup.c
gtk/gtkadjustment.c
gtk/gtkalignment.c
gtk/gtkappchooserbutton.c
gtk/gtkappchooserdialog.c
gtk/gtkappchooseronlinepk.c
gtk/gtkappchooserwidget.c
gtk/gtkapplication.c
gtk/gtkapplicationwindow.c
gtk/gtkarrow.c
gtk/gtkaspectframe.c
gtk/gtkassistant.c
gtk/gtkbbox.c
gtk/gtkbin.c
gtk/gtkbox.c
gtk/gtkbubblewindow.c
gtk/gtkbuilder.c
gtk/gtkbutton.c
gtk/gtkcalendar.c
gtk/gtkcellarea.c
gtk/gtkcellareabox.c
gtk/gtkcellareaboxcontext.c
gtk/gtkcellareacontext.c
gtk/gtkcellrenderer.c
gtk/gtkcellrendereraccel.c
gtk/gtkcellrenderercombo.c
gtk/gtkcellrendererpixbuf.c
gtk/gtkcellrendererprogress.c
gtk/gtkcellrendererspin.c
gtk/gtkcellrendererspinner.c
gtk/gtkcellrenderertext.c
gtk/gtkcellrenderertoggle.c
gtk/gtkcellview.c
gtk/gtkcheckmenuitem.c
gtk/gtkcolorbutton.c
gtk/gtkcolorchooserdialog.c
gtk/gtkcolorchooserwidget.c
gtk/gtkcoloreditor.c
gtk/gtkcolorplane.c
gtk/gtkcolorscale.c
gtk/gtkcolorswatch.c
gtk/gtkcombobox.c
gtk/gtkcontainer.c
gtk/gtkcssprovider.c
gtk/gtkcustompaperunixdialog.c
gtk/gtkdialog.c
gtk/gtkentry.c
gtk/gtkentrybuffer.c
gtk/gtkentrycompletion.c
gtk/gtkeventbox.c
gtk/gtkexpander.c
gtk/gtkfilechooserbutton.c
gtk/gtkfilechooserdefault.c
gtk/gtkfilechooserdialog.c
gtk/gtkfilechooserwidget.c
gtk/gtkfilesystem.c
gtk/gtkfixed.c
gtk/gtkfontbutton.c
gtk/gtkfontchooserdialog.c
gtk/gtkfontchooserwidget.c
gtk/gtkframe.c
gtk/gtkgrid.c
gtk/gtkheaderbar.c
gtk/gtkheaderbar.h
gtk/gtkiconfactory.c
gtk/gtkiconhelper.c
gtk/gtkicontheme.c
gtk/gtkiconview.c
gtk/gtkimage.c
gtk/gtkimagemenuitem.c
gtk/gtkimcontext.c
gtk/gtkimcontextsimple.c
gtk/gtkimmulticontext.c
gtk/gtkinfobar.c
gtk/gtkinvisible.c
gtk/gtklabel.c
gtk/gtklayout.c
gtk/gtklevelbar.c
gtk/gtklinkbutton.c
gtk/gtkliststore.c
gtk/gtklockbutton.c
gtk/gtkmenu.c
gtk/gtkmenubar.c
gtk/gtkmenubutton.c
gtk/gtkmenuitem.c
gtk/gtkmenushell.c
gtk/gtkmenutoolbutton.c
gtk/gtkmessagedialog.c
gtk/gtkmisc.c
gtk/gtkmodifierstyle.c
gtk/gtkmountoperation.c
gtk/gtknotebook.c
gtk/gtknumerableicon.c
gtk/gtkoverlay.c
gtk/gtkpagesetupunixdialog.c
gtk/gtkpaned.c
gtk/gtkpathbar.c
gtk/gtkplug.c
gtk/gtkpressandhold.c
gtk/gtkprintbackend.c
gtk/gtkprinter.c
gtk/gtkprinteroptionwidget.c
gtk/gtkprintjob.c
gtk/gtkprintoperation.c
gtk/gtkprintunixdialog.c
gtk/gtkprogressbar.c
gtk/gtkquery.c
gtk/gtkradioaction.c
gtk/gtkradiobutton.c
gtk/gtkradiomenuitem.c
gtk/gtkrange.c
gtk/gtkrecentaction.c
gtk/gtkrecentchooserdefault.c
gtk/gtkrecentchooserdialog.c
gtk/gtkrecentchoosermenu.c
gtk/gtkrecentchooserwidget.c
gtk/gtkrecentmanager.c
gtk/gtkrevealer.c
gtk/gtkscale.c
gtk/gtkscalebutton.c
gtk/gtkscrolledwindow.c
gtk/gtksearchbar.c
gtk/gtksearchbar.h
gtk/gtksearchenginequartz.c
gtk/gtksearchenginesimple.c
gtk/gtksearchenginetracker.c
gtk/gtksearchentry.c
gtk/gtkseparator.c
gtk/gtkseparatortoolitem.c
gtk/gtksettings.c
gtk/gtksizegroup.c
gtk/gtksocket.c
gtk/gtkspinbutton.c
gtk/gtkspinner.c
gtk/gtkstack.c
gtk/gtkstackswitcher.c
gtk/gtkstatusbar.c
gtk/gtkstatusicon.c
gtk/gtkstylecontext.c
gtk/gtkstyleproperties.c
gtk/gtkswitch.c
gtk/gtktextbuffer.c
gtk/gtktexthandle.c
gtk/gtktextlayout.c
gtk/gtktexttag.c
gtk/gtktexttagtable.c
gtk/gtktextview.c
gtk/gtkthemingengine.c
gtk/gtktoggleaction.c
gtk/gtktogglebutton.c
gtk/gtktoggletoolbutton.c
gtk/gtktoolbar.c
gtk/gtktoolbutton.c
gtk/gtktoolitem.c
gtk/gtktoolitemgroup.c
gtk/gtktoolpalette.c
gtk/gtktrayicon-x11.c
gtk/gtktreemenu.c
gtk/gtktreemodelfilter.c
gtk/gtktreemodelsort.c
gtk/gtktreeselection.c
gtk/gtktreestore.c
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c
gtk/gtkuimanager.c
gtk/gtkviewport.c
gtk/gtkwidget.c
gtk/gtkwindow.c

diff --git a/gtk/extract-strings b/gtk/extract-strings
new file mode 100755 (executable)
index 0000000..34a3653
Binary files /dev/null and b/gtk/extract-strings differ
index 992b8682b884a70e6dbd38c3a4c56b67fe620061..70c3265430a739158051db78b55aacce830cd9d7 100644 (file)
@@ -175,9 +175,6 @@ struct _GtkAboutDialogPrivate
 #define CREDITS_PAGE_ID  1
 #define LICENSE_PAGE_ID  2
 
-#define GTK_ABOUT_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogPrivate))
-
-
 enum
 {
   PROP_0,
@@ -251,7 +248,7 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkAboutDialog, gtk_about_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAboutDialog, gtk_about_dialog, GTK_TYPE_DIALOG)
 
 
 static void
@@ -581,8 +578,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
   gtk_widget_class_bind_callback (widget_class, text_view_key_press_event);
   gtk_widget_class_bind_callback (widget_class, text_view_visibility_notify_event);
   gtk_widget_class_bind_callback (widget_class, text_view_motion_notify_event);
-
-  g_type_class_add_private (object_class, sizeof (GtkAboutDialogPrivate));
 }
 
 static gboolean
@@ -691,7 +686,7 @@ gtk_about_dialog_init (GtkAboutDialog *about)
   GtkAboutDialogPrivate *priv;
 
   /* Data */
-  priv = GTK_ABOUT_DIALOG_GET_PRIVATE (about);
+  priv = gtk_about_dialog_get_instance_private (about);
   about->priv = priv;
 
   priv->name = NULL;
index c2d91028fd68a9b55802b3c84dbe4a24c53a7ee3..60bd1ee534c174391e81ead21e4316911881921e 100644 (file)
@@ -87,7 +87,7 @@ enum {
   PROP_MODIFIER_MASK,
 };
 
-G_DEFINE_TYPE (GtkAccelGroup, gtk_accel_group, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAccelGroup, gtk_accel_group, G_TYPE_OBJECT)
 
 /* --- functions --- */
 static void
@@ -167,8 +167,6 @@ gtk_accel_group_class_init (GtkAccelGroupClass *class)
                   G_TYPE_UINT,
                   GDK_TYPE_MODIFIER_TYPE,
                   G_TYPE_CLOSURE);
-
-  g_type_class_add_private (object_class, sizeof (GtkAccelGroupPrivate));
 }
 
 static void
@@ -225,9 +223,7 @@ gtk_accel_group_init (GtkAccelGroup *accel_group)
 {
   GtkAccelGroupPrivate *priv;
 
-  accel_group->priv = G_TYPE_INSTANCE_GET_PRIVATE (accel_group,
-                                                   GTK_TYPE_ACCEL_GROUP,
-                                                   GtkAccelGroupPrivate);
+  accel_group->priv = gtk_accel_group_get_instance_private (accel_group);
   priv = accel_group->priv;
 
   priv->lock_count = 0;
index d8bb7e96fa4069247059cc3183863c7fdc3af6ec..0747f574e2758cff20961c3009d013fb9ba5ed10 100644 (file)
@@ -129,7 +129,7 @@ static void         gtk_accel_label_get_preferred_width (GtkWidget           *wi
                                                          gint                *nat_width);
 
 
-G_DEFINE_TYPE (GtkAccelLabel, gtk_accel_label, GTK_TYPE_LABEL)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAccelLabel, gtk_accel_label, GTK_TYPE_LABEL)
 
 static void
 gtk_accel_label_class_init (GtkAccelLabelClass *class)
@@ -196,8 +196,6 @@ gtk_accel_label_class_init (GtkAccelLabelClass *class)
                                                         P_("The widget to be monitored for accelerator changes"),
                                                         GTK_TYPE_WIDGET,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (gobject_class, sizeof (GtkAccelLabelPrivate));
 }
 
 static void
@@ -253,9 +251,7 @@ gtk_accel_label_init (GtkAccelLabel *accel_label)
 {
   GtkAccelLabelPrivate *priv;
 
-  accel_label->priv = G_TYPE_INSTANCE_GET_PRIVATE (accel_label,
-                                                   GTK_TYPE_ACCEL_LABEL,
-                                                   GtkAccelLabelPrivate);
+  accel_label->priv = gtk_accel_label_get_instance_private (accel_label);
   priv = accel_label->priv;
 
   priv->accel_padding = 3;
index 27d88ca00ea35b178118fdd8dd0cf5eefba11e27..85fe68c1668f3466aea60a3f50c7b4eb9f8c7288 100644 (file)
@@ -52,7 +52,7 @@ enum {
 
 static void gtk_accessible_real_connect_widget_destroyed (GtkAccessible *accessible);
 
-G_DEFINE_TYPE (GtkAccessible, gtk_accessible, ATK_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAccessible, gtk_accessible, ATK_TYPE_OBJECT)
 
 static void
 gtk_accessible_set_property (GObject      *object,
@@ -96,9 +96,7 @@ gtk_accessible_get_property (GObject    *object,
 static void
 gtk_accessible_init (GtkAccessible *accessible)
 {
-  accessible->priv = G_TYPE_INSTANCE_GET_PRIVATE (accessible,
-                                                  GTK_TYPE_ACCESSIBLE,
-                                                  GtkAccessiblePrivate);
+  accessible->priv = gtk_accessible_get_instance_private (accessible);
 }
 
 static AtkStateSet *
@@ -159,8 +157,6 @@ gtk_accessible_class_init (GtkAccessibleClass *klass)
                                                        P_("The widget referenced by this accessible."),
                                                        GTK_TYPE_WIDGET,
                                                        G_PARAM_READWRITE));
-
-  g_type_class_add_private (klass, sizeof (GtkAccessiblePrivate));
 }
 
 /**
index 20041134d2516383518f3eb375c0783553742d08..1aaddf03512102bc4e217184eeca5e1a1916fc58 100644 (file)
@@ -163,6 +163,7 @@ static void gtk_action_buildable_set_name         (GtkBuildable *buildable,
 static const gchar* gtk_action_buildable_get_name (GtkBuildable *buildable);
 
 G_DEFINE_TYPE_WITH_CODE (GtkAction, gtk_action, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkAction)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_action_buildable_init))
 
@@ -514,17 +515,13 @@ gtk_action_class_init (GtkActionClass *klass)
                  G_STRUCT_OFFSET (GtkActionClass, activate),  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkActionPrivate));
 }
 
 
 static void
 gtk_action_init (GtkAction *action)
 {
-  action->private_data = G_TYPE_INSTANCE_GET_PRIVATE (action,
-                                                      GTK_TYPE_ACTION,
-                                                      GtkActionPrivate);
+  action->private_data = gtk_action_get_instance_private (action);
 
   action->private_data->name = NULL;
   action->private_data->label = NULL;
index e3439a690db3be57cd095585c6f7880c0e732b2b..01c2d53370953dd850071e6e04bb11e34c77539d 100644 (file)
@@ -171,53 +171,19 @@ static void gtk_action_group_buildable_custom_tag_end (GtkBuildable *buildable,
                                                       const gchar  *tagname,
                                                       gpointer     *user_data);
 
-GType
-gtk_action_group_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      const GTypeInfo type_info =
-      {
-        sizeof (GtkActionGroupClass),
-       NULL,           /* base_init */
-        NULL,           /* base_finalize */
-        (GClassInitFunc) gtk_action_group_class_init,
-        NULL,           /* class_finalize */
-        NULL,           /* class_data */
-        sizeof (GtkActionGroup),
-        0, /* n_preallocs */
-        (GInstanceInitFunc) gtk_action_group_init,
-      };
-
-      const GInterfaceInfo buildable_info =
-      {
-       (GInterfaceInitFunc) gtk_action_group_buildable_init,
-       NULL,
-       NULL
-      };
-
-      type = g_type_register_static (G_TYPE_OBJECT, I_("GtkActionGroup"),
-                                    &type_info, 0);
-
-      g_type_add_interface_static (type,
-                                  GTK_TYPE_BUILDABLE,
-                                  &buildable_info);
-    }
-  return type;
-}
-
-static GObjectClass *parent_class = NULL;
 static guint         action_group_signals[LAST_SIGNAL] = { 0 };
 
+G_DEFINE_TYPE_WITH_CODE (GtkActionGroup, gtk_action_group, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkActionGroup)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
+                                                gtk_action_group_buildable_init))
+
 static void
 gtk_action_group_class_init (GtkActionGroupClass *klass)
 {
   GObjectClass *gobject_class;
 
   gobject_class = G_OBJECT_CLASS (klass);
-  parent_class = g_type_class_peek_parent (klass);
 
   gobject_class->finalize = gtk_action_group_finalize;
   gobject_class->set_property = gtk_action_group_set_property;
@@ -381,8 +347,6 @@ gtk_action_group_class_init (GtkActionGroupClass *klass)
                  _gtk_marshal_VOID__OBJECT,
                  G_TYPE_NONE, 1, 
                  GTK_TYPE_ACTION);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkActionGroupPrivate));
 }
 
 
@@ -396,22 +360,16 @@ remove_action (GtkAction *action)
 static void
 gtk_action_group_init (GtkActionGroup *action_group)
 {
-  GtkActionGroupPrivate *private;
-
-  action_group->priv = G_TYPE_INSTANCE_GET_PRIVATE (action_group,
-                                                    GTK_TYPE_ACTION_GROUP,
-                                                    GtkActionGroupPrivate);
-  private = action_group->priv;
-
-  private->name = NULL;
-  private->sensitive = TRUE;
-  private->visible = TRUE;
-  private->actions = g_hash_table_new_full (g_str_hash, g_str_equal,
-                                            NULL,
-                                            (GDestroyNotify) remove_action);
-  private->translate_func = NULL;
-  private->translate_data = NULL;
-  private->translate_notify = NULL;
+  action_group->priv = gtk_action_group_get_instance_private (action_group);
+  action_group->priv->name = NULL;
+  action_group->priv->sensitive = TRUE;
+  action_group->priv->visible = TRUE;
+  action_group->priv->actions = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                                       NULL,
+                                                       (GDestroyNotify) remove_action);
+  action_group->priv->translate_func = NULL;
+  action_group->priv->translate_data = NULL;
+  action_group->priv->translate_notify = NULL;
 }
 
 static void
@@ -592,24 +550,18 @@ gtk_action_group_new (const gchar *name)
 static void
 gtk_action_group_finalize (GObject *object)
 {
-  GtkActionGroup *self;
-  GtkActionGroupPrivate *private;
-
-  self = GTK_ACTION_GROUP (object);
-  private = self->priv;
+  GtkActionGroup *self = GTK_ACTION_GROUP (object);
 
-  g_free (private->name);
-  private->name = NULL;
+  g_free (self->priv->name);
 
-  g_hash_table_destroy (private->actions);
-  private->actions = NULL;
+  g_hash_table_destroy (self->priv->actions);
 
-  g_clear_object (&private->accel_group);
+  g_clear_object (&self->priv->accel_group);
 
-  if (private->translate_notify)
-    private->translate_notify (private->translate_data);
+  if (self->priv->translate_notify != NULL)
+    self->priv->translate_notify (self->priv->translate_data);
 
-  parent_class->finalize (object);
+  G_OBJECT_CLASS (gtk_action_group_parent_class)->finalize (object);
 }
 
 static void
index f8dda30c4ffbb9cc0a09a81f03abd60bd5070680..52580ee02e1bfafc03a0391b147efe123857ed0c 100644 (file)
@@ -94,7 +94,7 @@ static guint adjustment_signals[LAST_SIGNAL] = { 0 };
 
 static guint64 adjustment_changed_stamp = 0; /* protected by global gdk lock */
 
-G_DEFINE_TYPE (GtkAdjustment, gtk_adjustment, G_TYPE_INITIALLY_UNOWNED)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAdjustment, gtk_adjustment, G_TYPE_INITIALLY_UNOWNED)
 
 static void
 gtk_adjustment_class_init (GtkAdjustmentClass *class)
@@ -246,16 +246,12 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (class, sizeof (GtkAdjustmentPrivate));
 }
 
 static void
 gtk_adjustment_init (GtkAdjustment *adjustment)
 {
-  adjustment->priv = G_TYPE_INSTANCE_GET_PRIVATE (adjustment,
-                                                  GTK_TYPE_ADJUSTMENT,
-                                                  GtkAdjustmentPrivate);
+  adjustment->priv = gtk_adjustment_get_instance_private (adjustment);
 }
 
 static void
index bb5eb4a33118fa1de9237f07fa0e033675fa3556..3f4a0de15327dbf0aa5db638951a8f539247c220 100644 (file)
@@ -115,7 +115,7 @@ static void gtk_alignment_get_preferred_height_and_baseline_for_width (GtkWidget
                                                                       gint                *minimum_baseline,
                                                                       gint                *natural_baseline);
 
-G_DEFINE_TYPE (GtkAlignment, gtk_alignment, GTK_TYPE_BIN)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAlignment, gtk_alignment, GTK_TYPE_BIN)
 
 static void
 gtk_alignment_class_init (GtkAlignmentClass *class)
@@ -242,8 +242,6 @@ gtk_alignment_class_init (GtkAlignmentClass *class)
                                                       G_MAXINT,
                                                       0,
                                                       GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (gobject_class, sizeof (GtkAlignmentPrivate));
 }
 
 static void
@@ -251,9 +249,7 @@ gtk_alignment_init (GtkAlignment *alignment)
 {
   GtkAlignmentPrivate *priv;
 
-  alignment->priv = G_TYPE_INSTANCE_GET_PRIVATE (alignment,
-                                                 GTK_TYPE_ALIGNMENT,
-                                                 GtkAlignmentPrivate);
+  alignment->priv = gtk_alignment_get_instance_private (alignment);
   priv = alignment->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (alignment), FALSE);
index 133ce349325b17a886bf169e1f4d6366324d5493..12e44d33f32733fdc79b843e07e4451aedd29d11 100644 (file)
@@ -101,10 +101,6 @@ static void real_insert_separator (GtkAppChooserButton *self,
 
 static guint signals[NUM_SIGNALS] = { 0, };
 
-G_DEFINE_TYPE_WITH_CODE (GtkAppChooserButton, gtk_app_chooser_button, GTK_TYPE_COMBO_BOX,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
-                                                app_chooser_iface_init));
-
 struct _GtkAppChooserButtonPrivate {
   GtkListStore *store;
 
@@ -117,6 +113,11 @@ struct _GtkAppChooserButtonPrivate {
   GHashTable *custom_item_names;
 };
 
+G_DEFINE_TYPE_WITH_CODE (GtkAppChooserButton, gtk_app_chooser_button, GTK_TYPE_COMBO_BOX,
+                         G_ADD_PRIVATE (GtkAppChooserButton)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
+                                                app_chooser_iface_init));
+
 static gboolean
 row_separator_func (GtkTreeModel *model,
                     GtkTreeIter  *iter,
@@ -670,15 +671,12 @@ gtk_app_chooser_button_class_init (GtkAppChooserButtonClass *klass)
                   _gtk_marshal_VOID__STRING,
                   G_TYPE_NONE,
                   1, G_TYPE_STRING);
-
-  g_type_class_add_private (klass, sizeof (GtkAppChooserButtonPrivate));
 }
 
 static void
 gtk_app_chooser_button_init (GtkAppChooserButton *self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_BUTTON,
-                                            GtkAppChooserButtonPrivate);
+  self->priv = gtk_app_chooser_button_get_instance_private (self);
   self->priv->custom_item_names =
     g_hash_table_new_full (g_str_hash, g_str_equal,
                            g_free, NULL);
index ce7cfeed578e96cb86ba3cf10f66c2358c61b79f..29b1627d0221f9b797d984469bd83463d5b095d7 100644 (file)
@@ -90,6 +90,7 @@ enum {
 
 static void gtk_app_chooser_dialog_iface_init (GtkAppChooserIface *iface);
 G_DEFINE_TYPE_WITH_CODE (GtkAppChooserDialog, gtk_app_chooser_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkAppChooserDialog)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
                                                 gtk_app_chooser_dialog_iface_init));
 
@@ -665,15 +666,12 @@ gtk_app_chooser_dialog_class_init (GtkAppChooserDialogClass *klass)
   gtk_widget_class_bind_child (widget_class, GtkAppChooserDialogPrivate, show_more_button);
   gtk_widget_class_bind_child (widget_class, GtkAppChooserDialogPrivate, inner_box);
   gtk_widget_class_bind_callback (widget_class, show_more_button_clicked_cb);
-
-  g_type_class_add_private (klass, sizeof (GtkAppChooserDialogPrivate));
 }
 
 static void
 gtk_app_chooser_dialog_init (GtkAppChooserDialog *self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_DIALOG,
-                                            GtkAppChooserDialogPrivate);
+  self->priv = gtk_app_chooser_dialog_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
index 5b70a5d75cd74efb62bab555b1eb742beca44322..85722b280d628998fb1d11486f3f7deea9d59539 100644 (file)
 static void app_chooser_online_iface_init (GtkAppChooserOnlineInterface *iface);
 static void app_chooser_online_pk_async_initable_init (GAsyncInitableIface *iface);
 
+struct _GtkAppChooserOnlinePkPrivate {
+  GSimpleAsyncResult *init_result;
+  guint watch_id;
+
+  GDBusProxy *proxy;
+  GSimpleAsyncResult *result;
+  GtkWindow *parent;
+};
+
 G_DEFINE_TYPE_WITH_CODE (GtkAppChooserOnlinePk, gtk_app_chooser_online_pk,
                          G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkAppChooserOnlinePk)
                          G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE,
                                                 app_chooser_online_pk_async_initable_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER_ONLINE,
@@ -44,15 +54,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkAppChooserOnlinePk, gtk_app_chooser_online_pk,
                                                          g_define_type_id,
                                                          "packagekit", 10));
 
-struct _GtkAppChooserOnlinePkPrivate {
-  GSimpleAsyncResult *init_result;
-  guint watch_id;
-
-  GDBusProxy *proxy;
-  GSimpleAsyncResult *result;
-  GtkWindow *parent;
-};
-
 static void
 gtk_app_chooser_online_pk_dispose (GObject *obj)
 {
@@ -70,15 +71,12 @@ gtk_app_chooser_online_pk_class_init (GtkAppChooserOnlinePkClass *klass)
   GObjectClass *oclass = G_OBJECT_CLASS (klass);
 
   oclass->dispose = gtk_app_chooser_online_pk_dispose;
-
-  g_type_class_add_private (klass, sizeof (GtkAppChooserOnlinePkPrivate));
 }
 
 static void
 gtk_app_chooser_online_pk_init (GtkAppChooserOnlinePk *self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_ONLINE_PK,
-                                            GtkAppChooserOnlinePkPrivate);
+  self->priv = gtk_app_chooser_online_pk_get_instance_private (self);
 }
 
 static gboolean
index a655fadf074f4aa6f3d258b949a70fd424451e46..83cab70d1a9c4e8db8bda299eb4c264f5b153a70 100644 (file)
@@ -126,6 +126,7 @@ static guint signals[N_SIGNALS] = { 0, };
 static void gtk_app_chooser_widget_iface_init (GtkAppChooserIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkAppChooserWidget, gtk_app_chooser_widget, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkAppChooserWidget)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
                                                 gtk_app_chooser_widget_iface_init));
 
@@ -1093,8 +1094,6 @@ gtk_app_chooser_widget_class_init (GtkAppChooserWidgetClass *klass)
   gtk_widget_class_bind_callback (widget_class, refresh_and_emit_app_selected);
   gtk_widget_class_bind_callback (widget_class, program_list_selection_activated);
   gtk_widget_class_bind_callback (widget_class, widget_button_press_event_cb);
-
-  g_type_class_add_private (klass, sizeof (GtkAppChooserWidgetPrivate));
 }
 
 static void
@@ -1103,8 +1102,7 @@ gtk_app_chooser_widget_init (GtkAppChooserWidget *self)
   GtkTreeSelection *selection;
   GtkTreeModel *sort;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_WIDGET,
-                                            GtkAppChooserWidgetPrivate);
+  self->priv = gtk_app_chooser_widget_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
index d60584657265624f7378fd127c80585f394d2ef2..ed638a7673bac7b54eb457fc57071e2627392634 100644 (file)
@@ -137,8 +137,6 @@ enum {
   PROP_ACTIVE_WINDOW
 };
 
-G_DEFINE_TYPE (GtkApplication, gtk_application, G_TYPE_APPLICATION)
-
 struct _GtkApplicationPrivate
 {
   GList *windows;
@@ -176,6 +174,8 @@ struct _GtkApplicationPrivate
 #endif
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GtkApplication, gtk_application, G_TYPE_APPLICATION)
+
 #ifdef GDK_WINDOWING_X11
 static void
 gtk_application_x11_publish_menu (GtkApplication  *application,
@@ -492,9 +492,7 @@ gtk_application_after_emit (GApplication *application,
 static void
 gtk_application_init (GtkApplication *application)
 {
-  application->priv = G_TYPE_INSTANCE_GET_PRIVATE (application,
-                                                   GTK_TYPE_APPLICATION,
-                                                   GtkApplicationPrivate);
+  application->priv = gtk_application_get_instance_private (application);
 
 #ifdef GDK_WINDOWING_X11
   application->priv->next_id = 1;
@@ -689,8 +687,6 @@ gtk_application_class_init (GtkApplicationClass *class)
   class->window_added = gtk_application_window_added;
   class->window_removed = gtk_application_window_removed;
 
-  g_type_class_add_private (class, sizeof (GtkApplicationPrivate));
-
   /**
    * GtkApplication::window-added:
    * @application: the #GtkApplication which emitted the signal
index 10fc58860b7ea17d0153709d483ff7b91394731d..7797eb8729838a91284b7db015adb8fcb34af035 100644 (file)
@@ -598,6 +598,7 @@ gtk_application_window_map_iface_init (GActionMapInterface *iface)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GtkApplicationWindow, gtk_application_window, GTK_TYPE_WINDOW,
+                         G_ADD_PRIVATE (GtkApplicationWindow)
                          G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_GROUP, gtk_application_window_group_iface_init)
                          G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_MAP, gtk_application_window_map_iface_init))
 
@@ -946,7 +947,7 @@ gtk_application_window_dispose (GObject *object)
 static void
 gtk_application_window_init (GtkApplicationWindow *window)
 {
-  window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window, GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindowPrivate);
+  window->priv = gtk_application_window_get_instance_private (window);
 
   window->priv->actions = gtk_application_window_actions_new (window);
   window->priv->app_menu_section = g_menu_new ();
@@ -1007,7 +1008,6 @@ gtk_application_window_class_init (GtkApplicationWindowClass *class)
                              "menubar at the top of the window"),
                           TRUE, G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE);
   g_object_class_install_properties (object_class, N_PROPS, gtk_application_window_properties);
-  g_type_class_add_private (class, sizeof (GtkApplicationWindowPrivate));
 }
 
 /**
index 43a1d59132d55adbd1465cd511356226adc3ec7e..e3976441574a70027f726c0d311815c8c6e8487e 100644 (file)
@@ -85,8 +85,7 @@ static void     gtk_arrow_get_preferred_height        (GtkWidget           *widg
                                                        gint                *minimum_size,
                                                        gint                *natural_size);
 
-G_DEFINE_TYPE (GtkArrow, gtk_arrow, GTK_TYPE_MISC)
-
+G_DEFINE_TYPE_WITH_PRIVATE (GtkArrow, gtk_arrow, GTK_TYPE_MISC)
 
 static void
 gtk_arrow_class_init (GtkArrowClass *class)
@@ -129,8 +128,6 @@ gtk_arrow_class_init (GtkArrowClass *class)
                                                                0.0, 1.0, 0.7,
                                                                GTK_PARAM_READABLE));
 
-  g_type_class_add_private (class, sizeof (GtkArrowPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ARROW_ACCESSIBLE);
 }
 
@@ -187,17 +184,12 @@ gtk_arrow_get_property (GObject         *object,
 static void
 gtk_arrow_init (GtkArrow *arrow)
 {
-  GtkArrowPrivate *priv;
-
-  arrow->priv = G_TYPE_INSTANCE_GET_PRIVATE (arrow,
-                                             GTK_TYPE_ARROW,
-                                             GtkArrowPrivate);
-  priv = arrow->priv;
+  arrow->priv = gtk_arrow_get_instance_private (arrow);
 
   gtk_widget_set_has_window (GTK_WIDGET (arrow), FALSE);
 
-  priv->arrow_type = GTK_ARROW_RIGHT;
-  priv->shadow_type = GTK_SHADOW_OUT;
+  arrow->priv->arrow_type = GTK_ARROW_RIGHT;
+  arrow->priv->shadow_type = GTK_SHADOW_OUT;
 }
 
 static void
index 4b77af282a021f8f5911b3243d3de0a61f772bf5..e9e76361ae4026b48f13276ec1927d25a96d01e4 100644 (file)
@@ -85,7 +85,7 @@ static void gtk_aspect_frame_compute_child_allocation (GtkFrame            *fram
 #define MAX_RATIO 10000.0
 #define MIN_RATIO 0.0001
 
-G_DEFINE_TYPE (GtkAspectFrame, gtk_aspect_frame, GTK_TYPE_FRAME)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkAspectFrame, gtk_aspect_frame, GTK_TYPE_FRAME)
 
 static void
 gtk_aspect_frame_class_init (GtkAspectFrameClass *class)
@@ -129,24 +129,17 @@ gtk_aspect_frame_class_init (GtkAspectFrameClass *class)
                                                          P_("Force aspect ratio to match that of the frame's child"),
                                                          TRUE,
                                                          GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkAspectFramePrivate));
 }
 
 static void
 gtk_aspect_frame_init (GtkAspectFrame *aspect_frame)
 {
-  GtkAspectFramePrivate *priv;
-
-  aspect_frame->priv = G_TYPE_INSTANCE_GET_PRIVATE (aspect_frame,
-                                                    GTK_TYPE_ASPECT_FRAME,
-                                                    GtkAspectFramePrivate);
-  priv = aspect_frame->priv;
+  aspect_frame->priv = gtk_aspect_frame_get_instance_private (aspect_frame);
 
-  priv->xalign = 0.5;
-  priv->yalign = 0.5;
-  priv->ratio = 1.0;
-  priv->obey_child = TRUE;
+  aspect_frame->priv->xalign = 0.5;
+  aspect_frame->priv->yalign = 0.5;
+  aspect_frame->priv->ratio = 1.0;
+  aspect_frame->priv->obey_child = TRUE;
 }
 
 static void
index c9166f8a3cdc23fe50052e278eb92ca6fbdf99c2..c06b0d877fa3f32db8424e0a182b47878c0c5a91 100644 (file)
@@ -213,6 +213,7 @@ static guint signals [LAST_SIGNAL] = { 0 };
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkAssistant, gtk_assistant, GTK_TYPE_WINDOW,
+                         G_ADD_PRIVATE (GtkAssistant)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_assistant_buildable_interface_init))
 
@@ -450,8 +451,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
   gtk_widget_class_bind_callback (widget_class, on_assistant_back);
   gtk_widget_class_bind_callback (widget_class, on_assistant_cancel);
   gtk_widget_class_bind_callback (widget_class, on_assistant_last);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkAssistantPrivate));
 }
 
 static gint
@@ -995,9 +994,8 @@ gtk_assistant_init (GtkAssistant *assistant)
 {
   GtkAssistantPrivate *priv;
 
-  assistant->priv = G_TYPE_INSTANCE_GET_PRIVATE (assistant,
-                                                 GTK_TYPE_ASSISTANT,
-                                                 GtkAssistantPrivate);
+  assistant->priv = gtk_assistant_get_instance_private (assistant);
+
   priv = assistant->priv;
   priv->pages = NULL;
   priv->current_page = NULL;
index b4348f1a660cf281975d371d2fc264aa637dc40d..22ca734d8faa8dd9d04df5bc4042db456a3802f6 100644 (file)
@@ -130,7 +130,7 @@ static void gtk_button_box_get_child_property (GtkContainer      *container,
 #define DEFAULT_CHILD_IPAD_Y 0
 #define DEFAULT_LAYOUT_STYLE GTK_BUTTONBOX_EDGE
 
-G_DEFINE_TYPE (GtkButtonBox, gtk_button_box, GTK_TYPE_BOX)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkButtonBox, gtk_button_box, GTK_TYPE_BOX)
 
 static void
 gtk_button_box_class_init (GtkButtonBoxClass *class)
@@ -220,22 +220,15 @@ gtk_button_box_class_init (GtkButtonBoxClass *class)
                                                                     P_("If TRUE, the child will not be subject to homogeneous sizing"),
                                                                     FALSE,
                                                                     GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkButtonBoxPrivate));
 }
 
 static void
 gtk_button_box_init (GtkButtonBox *button_box)
 {
-  GtkButtonBoxPrivate *priv;
-
-  button_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (button_box,
-                                                  GTK_TYPE_BUTTON_BOX,
-                                                  GtkButtonBoxPrivate);
-  priv = button_box->priv;
+  button_box->priv = gtk_button_box_get_instance_private (button_box);
+  button_box->priv->layout_style = DEFAULT_LAYOUT_STYLE;
 
   gtk_box_set_spacing (GTK_BOX (button_box), 0);
-  priv->layout_style = DEFAULT_LAYOUT_STYLE;
 }
 
 static void
index b64f54156d58a124a8252eaa76807d1ea7f9b675..86d1742cb8411f16d69218aea7ba658558e4a888 100644 (file)
@@ -73,7 +73,7 @@ static void               gtk_bin_get_preferred_height_for_width  (GtkWidget
 static void               gtk_bin_size_allocate                   (GtkWidget           *widget,
                                                                    GtkAllocation       *allocation);
 
-G_DEFINE_ABSTRACT_TYPE (GtkBin, gtk_bin, GTK_TYPE_CONTAINER)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GtkBin, gtk_bin, GTK_TYPE_CONTAINER)
 
 static void
 gtk_bin_class_init (GtkBinClass *class)
@@ -91,23 +91,14 @@ gtk_bin_class_init (GtkBinClass *class)
   container_class->remove = gtk_bin_remove;
   container_class->forall = gtk_bin_forall;
   container_class->child_type = gtk_bin_child_type;
-
-  g_type_class_add_private (class, sizeof (GtkBinPrivate));
 }
 
 static void
 gtk_bin_init (GtkBin *bin)
 {
-  GtkBinPrivate *priv;
-
-  bin->priv = G_TYPE_INSTANCE_GET_PRIVATE (bin,
-                                           GTK_TYPE_BIN,
-                                           GtkBinPrivate);
-  priv = bin->priv;
+  bin->priv = gtk_bin_get_instance_private (bin);
 
   gtk_widget_set_has_window (GTK_WIDGET (bin), FALSE);
-
-  priv->child = NULL;
 }
 
 
index 94e89073cc47ea86ee747c4477b1b811330a0643..cbf7591a4f212e973ec829bbad1e357d06f69997 100644 (file)
@@ -208,8 +208,8 @@ static void  gtk_box_get_preferred_height_and_baseline_for_width (GtkWidget
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkBox, gtk_box, GTK_TYPE_CONTAINER,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
-                                                NULL))
+                         G_ADD_PRIVATE (GtkBox)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 static void
 gtk_box_class_init (GtkBoxClass *class)
@@ -332,8 +332,6 @@ gtk_box_class_init (GtkBoxClass *class)
                                                                -1, G_MAXINT, 0,
                                                                GTK_PARAM_READWRITE));
 
-  g_type_class_add_private (object_class, sizeof (GtkBoxPrivate));
-
   gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILLER);
 }
 
@@ -342,9 +340,7 @@ gtk_box_init (GtkBox *box)
 {
   GtkBoxPrivate *private;
 
-  box->priv = G_TYPE_INSTANCE_GET_PRIVATE (box,
-                                           GTK_TYPE_BOX,
-                                           GtkBoxPrivate);
+  box->priv = gtk_box_get_instance_private (box);
   private = box->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (box), FALSE);
index f46887808070ae1020803bc10841c015c2921a8c..ec54d98aa2669b896fcda3ec8a99dc1a7dadc2d1 100644 (file)
@@ -72,7 +72,7 @@ struct _GtkBubbleWindowPrivate
   guint final_position     : 2;
 };
 
-G_DEFINE_TYPE (GtkBubbleWindow, _gtk_bubble_window, GTK_TYPE_WINDOW)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkBubbleWindow, _gtk_bubble_window, GTK_TYPE_WINDOW)
 
 static void
 _gtk_bubble_window_init (GtkBubbleWindow *window)
@@ -82,9 +82,7 @@ _gtk_bubble_window_init (GtkBubbleWindow *window)
   GdkVisual *visual;
 
   widget = GTK_WIDGET (window);
-  window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window,
-                                               GTK_TYPE_BUBBLE_WINDOW,
-                                               GtkBubbleWindowPrivate);
+  window->priv = _gtk_bubble_window_get_instance_private (window);
   gtk_window_set_default_size (GTK_WINDOW (window),
                                TAIL_GAP_WIDTH, TAIL_GAP_WIDTH);
   gtk_widget_set_app_paintable (widget, TRUE);
@@ -867,8 +865,6 @@ _gtk_bubble_window_class_init (GtkBubbleWindowClass *klass)
                                                       P_("Position to place the bubble window"),
                                                       GTK_TYPE_POSITION_TYPE, GTK_POS_TOP,
                                                       GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
-  g_type_class_add_private (klass, sizeof (GtkBubbleWindowPrivate));
 }
 
 static void
index 09045a73b83f8d8dcae8b8fd9a067de4d2ee3e4e..a8ceb576cd94ea0e7a013cde576e58b67d6d6e8c 100644 (file)
@@ -288,7 +288,7 @@ struct _GtkBuilderPrivate
   GType template_type;
 };
 
-G_DEFINE_TYPE (GtkBuilder, gtk_builder, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkBuilder, gtk_builder, G_TYPE_OBJECT)
 
 static void
 gtk_builder_class_init (GtkBuilderClass *klass)
@@ -320,15 +320,12 @@ gtk_builder_class_init (GtkBuilderClass *klass)
                                                         P_("The translation domain used by gettext"),
                                                         NULL,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (gobject_class, sizeof (GtkBuilderPrivate));
 }
 
 static void
 gtk_builder_init (GtkBuilder *builder)
 {
-  builder->priv = G_TYPE_INSTANCE_GET_PRIVATE (builder, GTK_TYPE_BUILDER,
-                                               GtkBuilderPrivate);
+  builder->priv = gtk_builder_get_instance_private (builder);
   builder->priv->domain = NULL;
   builder->priv->objects = g_hash_table_new_full (g_str_hash, g_str_equal,
                                                   g_free, g_object_unref);
index 268a2ccb4ad68be8613fcee8ce141191866b18f3..26ce7039b34cc02d072023946306cdb0f35692f3 100644 (file)
@@ -190,6 +190,7 @@ static guint button_signals[LAST_SIGNAL] = { 0 };
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkButton, gtk_button, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIONABLE, gtk_button_actionable_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                gtk_button_activatable_interface_init))
@@ -584,8 +585,6 @@ gtk_button_class_init (GtkButtonClass *klass)
                                                             2,
                                                             GTK_PARAM_READABLE));
 
-  g_type_class_add_private (gobject_class, sizeof (GtkButtonPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BUTTON_ACCESSIBLE);
 }
 
@@ -595,9 +594,7 @@ gtk_button_init (GtkButton *button)
   GtkButtonPrivate *priv;
   GtkStyleContext *context;
 
-  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                              GTK_TYPE_BUTTON,
-                                              GtkButtonPrivate);
+  button->priv = gtk_button_get_instance_private (button);
   priv = button->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (button), TRUE);
index cfceb08a1530698aec9c2ca9606e44b1229d2fd8..588a905dc239aee820c3bf829afc02227bd209a9 100644 (file)
@@ -313,8 +313,6 @@ struct _GtkCalendarPrivate
   gint detail_overflow[6];
 };
 
-#define GTK_CALENDAR_GET_PRIVATE(widget)  (GTK_CALENDAR (widget)->priv)
-
 static void gtk_calendar_finalize     (GObject      *calendar);
 static void gtk_calendar_destroy      (GtkWidget    *widget);
 static void gtk_calendar_set_property (GObject      *object,
@@ -413,7 +411,7 @@ static gint calendar_get_inner_border  (GtkCalendar *calendar);
 static char    *default_abbreviated_dayname[7];
 static char    *default_monthname[12];
 
-G_DEFINE_TYPE (GtkCalendar, gtk_calendar, GTK_TYPE_WIDGET)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCalendar, gtk_calendar, GTK_TYPE_WIDGET)
 
 static void
 gtk_calendar_class_init (GtkCalendarClass *class)
@@ -750,8 +748,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
                   NULL, NULL,
                   _gtk_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkCalendarPrivate));
 }
 
 static void
@@ -778,9 +774,7 @@ gtk_calendar_init (GtkCalendar *calendar)
   gchar *week_start;
 #endif
 
-  priv = calendar->priv = G_TYPE_INSTANCE_GET_PRIVATE (calendar,
-                                                       GTK_TYPE_CALENDAR,
-                                                       GtkCalendarPrivate);
+  priv = calendar->priv = gtk_calendar_get_instance_private (calendar);
 
   gtk_widget_set_can_focus (widget, TRUE);
   gtk_widget_set_has_window (widget, FALSE);
@@ -933,7 +927,7 @@ gtk_calendar_init (GtkCalendar *calendar)
 static void
 calendar_queue_refresh (GtkCalendar *calendar)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (!(priv->detail_func) ||
       !(priv->display_flags & GTK_CALENDAR_SHOW_DETAILS) ||
@@ -1142,7 +1136,7 @@ calendar_row_height (GtkCalendar *calendar)
 {
   GtkCalendarPrivate *priv = calendar->priv;
 
-  return (GTK_CALENDAR_GET_PRIVATE (calendar)->main_h - CALENDAR_MARGIN
+  return (priv->main_h - CALENDAR_MARGIN
           - ((priv->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
              ? calendar_get_ysep (calendar) : CALENDAR_MARGIN)) / 6;
 }
@@ -1176,7 +1170,7 @@ calendar_left_x_for_column (GtkCalendar *calendar,
       week_width = 0;
     }
 
-  width = GTK_CALENDAR_GET_PRIVATE (calendar)->day_width;
+  width = calendar->priv->day_width;
   if (priv->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     x_left = week_width + calendar_xsep + (width + DAY_XSEP) * column;
   else
@@ -1199,7 +1193,7 @@ calendar_column_from_x (GtkCalendar *calendar,
   for (c = 0; c < 7; c++)
     {
       x_left = calendar_left_x_for_column (calendar, c);
-      x_right = x_left + GTK_CALENDAR_GET_PRIVATE (calendar)->day_width;
+      x_right = x_left + calendar->priv->day_width;
 
       if (event_x >= x_left && event_x < x_right)
         {
@@ -1269,7 +1263,7 @@ calendar_arrow_rectangle (GtkCalendar  *calendar,
                           GdkRectangle *rect)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkAllocation allocation;
   GtkStyleContext *context;
   GtkStateFlags state;
@@ -1333,7 +1327,7 @@ calendar_day_rectangle (GtkCalendar  *calendar,
                         gint          col,
                         GdkRectangle *rect)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   rect->x = calendar_left_x_for_column (calendar, col);
   rect->y = calendar_top_y_for_row (calendar, row);
@@ -1398,7 +1392,7 @@ gtk_calendar_finalize (GObject *object)
 static void
 gtk_calendar_destroy (GtkWidget *widget)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   calendar_stop_spinning (GTK_CALENDAR (widget));
 
@@ -1563,7 +1557,7 @@ static void
 calendar_realize_arrows (GtkCalendar *calendar)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GdkWindowAttr attributes;
   gint attributes_mask;
   gint i;
@@ -1607,7 +1601,7 @@ calendar_realize_arrows (GtkCalendar *calendar)
 static void
 calendar_unrealize_arrows (GtkCalendar *calendar)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint i;
 
   for (i = 0; i < 4; i++)
@@ -1661,7 +1655,7 @@ calendar_get_ysep (GtkCalendar *calendar)
 static void
 gtk_calendar_realize (GtkWidget *widget)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
   GdkWindowAttr attributes;
   gint attributes_mask;
   gint inner_border = calendar_get_inner_border (GTK_CALENDAR (widget));
@@ -1712,7 +1706,7 @@ gtk_calendar_realize (GtkWidget *widget)
 static void
 gtk_calendar_unrealize (GtkWidget *widget)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   calendar_unrealize_arrows (GTK_CALENDAR (widget));
 
@@ -1729,7 +1723,7 @@ gtk_calendar_unrealize (GtkWidget *widget)
 static void
 calendar_map_arrows (GtkCalendar *calendar)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint i;
 
   for (i = 0; i < 4; i++)
@@ -1742,7 +1736,7 @@ calendar_map_arrows (GtkCalendar *calendar)
 static void
 calendar_unmap_arrows (GtkCalendar *calendar)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint i;
 
   for (i = 0; i < 4; i++)
@@ -1755,7 +1749,7 @@ calendar_unmap_arrows (GtkCalendar *calendar)
 static void
 gtk_calendar_map (GtkWidget *widget)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   GTK_WIDGET_CLASS (gtk_calendar_parent_class)->map (widget);
 
@@ -1767,7 +1761,7 @@ gtk_calendar_map (GtkWidget *widget)
 static void
 gtk_calendar_unmap (GtkWidget *widget)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   calendar_unmap_arrows (GTK_CALENDAR (widget));
 
@@ -1781,7 +1775,7 @@ gtk_calendar_get_detail (GtkCalendar *calendar,
                          gint         row,
                          gint         column)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (calendar)->priv;
   gint year, month;
 
   if (priv->detail_func == NULL)
@@ -1814,8 +1808,8 @@ gtk_calendar_query_tooltip (GtkWidget  *widget,
                             gboolean    keyboard_mode,
                             GtkTooltip *tooltip)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
   GtkCalendar *calendar = GTK_CALENDAR (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   gchar *detail = NULL;
   GdkRectangle day_rect;
   gint row, col;
@@ -1857,7 +1851,7 @@ gtk_calendar_size_request (GtkWidget      *widget,
                            GtkRequisition *requisition)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state;
   GtkBorder padding;
@@ -2127,7 +2121,7 @@ gtk_calendar_size_allocate (GtkWidget     *widget,
                             GtkAllocation *allocation)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state;
   GtkBorder padding;
@@ -2209,7 +2203,7 @@ static void
 calendar_paint_header (GtkCalendar *calendar, cairo_t *cr)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkAllocation allocation;
   GtkStyleContext *context;
   GtkStateFlags state;
@@ -2322,7 +2316,7 @@ calendar_paint_day_names (GtkCalendar *calendar,
                           cairo_t     *cr)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state;
   GtkBorder padding;
@@ -2418,7 +2412,7 @@ calendar_paint_week_numbers (GtkCalendar *calendar,
                              cairo_t     *cr)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state;
   GtkBorder padding;
@@ -2570,7 +2564,7 @@ calendar_paint_day (GtkCalendar *calendar,
                     gint         col)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state = 0;
   gchar *detail;
@@ -2738,7 +2732,7 @@ static void
 calendar_invalidate_arrow (GtkCalendar *calendar,
                            guint        arrow)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (priv->display_flags & GTK_CALENDAR_SHOW_HEADING &&
       priv->arrow_win[arrow])
@@ -2761,7 +2755,7 @@ calendar_paint_arrow (GtkCalendar *calendar,
                       guint        arrow)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   GtkStyleContext *context;
   GtkStateFlags state;
   GdkRectangle rect;
@@ -2809,7 +2803,7 @@ gtk_calendar_draw (GtkWidget *widget,
                    cairo_t   *cr)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   int i;
 
   if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget)))
@@ -2881,7 +2875,7 @@ static gboolean
 calendar_timer (gpointer data)
 {
   GtkCalendar *calendar = data;
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gboolean retval = FALSE;
 
   if (priv->timer)
@@ -2913,7 +2907,7 @@ static void
 calendar_start_spinning (GtkCalendar *calendar,
                          gint         click_child)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   priv->click_child = click_child;
 
@@ -2936,7 +2930,7 @@ calendar_start_spinning (GtkCalendar *calendar,
 static void
 calendar_stop_spinning (GtkCalendar *calendar)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (priv->timer)
     {
@@ -2951,7 +2945,7 @@ calendar_main_button_press (GtkCalendar    *calendar,
                             GdkEventButton *event)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint x, y;
   gint win_x, win_y;
   gint row, col;
@@ -3010,7 +3004,7 @@ gtk_calendar_button_press (GtkWidget      *widget,
                            GdkEventButton *event)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint arrow = -1;
 
   if (event->window == priv->main_win)
@@ -3045,7 +3039,7 @@ gtk_calendar_button_release (GtkWidget    *widget,
                              GdkEventButton *event)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (event->button == GDK_BUTTON_PRIMARY)
     {
@@ -3062,7 +3056,7 @@ static gboolean
 gtk_calendar_motion_notify (GtkWidget      *widget,
                             GdkEventMotion *event)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   if (priv->in_drag)
     {
@@ -3090,7 +3084,7 @@ gtk_calendar_enter_notify (GtkWidget        *widget,
                            GdkEventCrossing *event)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (event->window == priv->arrow_win[ARROW_MONTH_LEFT])
     {
@@ -3124,7 +3118,7 @@ gtk_calendar_leave_notify (GtkWidget        *widget,
                            GdkEventCrossing *event)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (event->window == priv->arrow_win[ARROW_MONTH_LEFT])
     {
@@ -3332,7 +3326,7 @@ gtk_calendar_state_flags_changed (GtkWidget     *widget,
                                   GtkStateFlags  previous_state)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = calendar->priv;
 
   if (!gtk_widget_is_sensitive (widget))
     {
@@ -3353,13 +3347,12 @@ static gboolean
 gtk_calendar_focus_out (GtkWidget     *widget,
                         GdkEventFocus *event)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
   GtkCalendar *calendar = GTK_CALENDAR (widget);
 
   calendar_queue_refresh (calendar);
   calendar_stop_spinning (calendar);
 
-  priv->in_drag = 0;
+  calendar->priv->in_drag = 0;
 
   return FALSE;
 }
@@ -3414,7 +3407,7 @@ gtk_calendar_drag_leave (GtkWidget      *widget,
                          GdkDragContext *context,
                          guint           time)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
 
   priv->drag_highlight = 0;
   gtk_drag_unhighlight (widget);
@@ -3428,7 +3421,7 @@ gtk_calendar_drag_motion (GtkWidget      *widget,
                           gint            y,
                           guint           time)
 {
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget);
+  GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
   GdkAtom target;
 
   if (!priv->drag_highlight)
@@ -3599,7 +3592,7 @@ gtk_calendar_set_display_options (GtkCalendar          *calendar,
                                   GtkCalendarDisplayOptions flags)
 {
   GtkWidget *widget = GTK_WIDGET (calendar);
-  GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  GtkCalendarPrivate *priv = calendar->priv;
   gint resize = 0;
   GtkCalendarDisplayOptions old_flags;
 
@@ -3929,7 +3922,7 @@ gtk_calendar_set_detail_func (GtkCalendar           *calendar,
 
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
 
-  priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  priv = calendar->priv;
 
   if (priv->detail_func_destroy)
     priv->detail_func_destroy (priv->detail_func_user_data);
@@ -3961,7 +3954,7 @@ gtk_calendar_set_detail_width_chars (GtkCalendar *calendar,
 
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
 
-  priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  priv = calendar->priv;
 
   if (chars != priv->detail_width_chars)
     {
@@ -3989,7 +3982,7 @@ gtk_calendar_set_detail_height_rows (GtkCalendar *calendar,
 
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
 
-  priv = GTK_CALENDAR_GET_PRIVATE (calendar);
+  priv = calendar->priv;
 
   if (rows != priv->detail_height_rows)
     {
@@ -4014,7 +4007,8 @@ gint
 gtk_calendar_get_detail_width_chars (GtkCalendar *calendar)
 {
   g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
-  return GTK_CALENDAR_GET_PRIVATE (calendar)->detail_width_chars;
+
+  return calendar->priv->detail_width_chars;
 }
 
 /**
@@ -4032,5 +4026,6 @@ gint
 gtk_calendar_get_detail_height_rows (GtkCalendar *calendar)
 {
   g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
-  return GTK_CALENDAR_GET_PRIVATE (calendar)->detail_height_rows;
+
+  return calendar->priv->detail_height_rows;
 }
index 715e4ae20786684059850800b170971f4c2146f7..b7bad3d559e81abca2c4821e0e28894980da7494 100644 (file)
@@ -616,6 +616,7 @@ static guint           cell_area_signals[LAST_SIGNAL] = { 0 };
 #define PARAM_SPEC_SET_PARAM_ID(pspec, id)      ((pspec)->param_id = (id))
 
 G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED,
+                                  G_ADD_PRIVATE (GtkCellArea)
                                   G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                          gtk_cell_area_cell_layout_init)
                                   G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
@@ -626,9 +627,7 @@ gtk_cell_area_init (GtkCellArea *area)
 {
   GtkCellAreaPrivate *priv;
 
-  area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area,
-                                            GTK_TYPE_CELL_AREA,
-                                            GtkCellAreaPrivate);
+  area->priv = gtk_cell_area_get_instance_private (area);
   priv = area->priv;
 
   priv->cell_info = g_hash_table_new_full (g_direct_hash,
@@ -846,8 +845,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
   /* Pool for Cell Properties */
   if (!cell_property_pool)
     cell_property_pool = g_param_spec_pool_new (FALSE);
-
-  g_type_class_add_private (object_class, sizeof (GtkCellAreaPrivate));
 }
 
 /*************************************************************
index 94915e209cb40f8d52d088727fe3c830efb3ff3c..fbb202a5366a4b3a5b991e7904687db3943ed74f 100644 (file)
@@ -235,18 +235,17 @@ enum {
 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA,
+                         G_ADD_PRIVATE (GtkCellAreaBox)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                 gtk_cell_area_box_cell_layout_init)
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL));
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 static void
 gtk_cell_area_box_init (GtkCellAreaBox *box)
 {
   GtkCellAreaBoxPrivate *priv;
 
-  box->priv = G_TYPE_INSTANCE_GET_PRIVATE (box,
-                                           GTK_TYPE_CELL_AREA_BOX,
-                                           GtkCellAreaBoxPrivate);
+  box->priv = gtk_cell_area_box_get_instance_private (box);
   priv = box->priv;
 
   priv->orientation = GTK_ORIENTATION_HORIZONTAL;
@@ -383,8 +382,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
                                                  "reference to the start or end of the cell area"),
                                               GTK_TYPE_PACK_TYPE, GTK_PACK_START,
                                               GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate));
 }
 
 
index d00316578a377fdaedd3015e9c41f9c950ff016a..00aad38f1ba8180b1519ac63bb726c49268db8cf 100644 (file)
@@ -80,7 +80,7 @@ struct _GtkCellAreaBoxContextPrivate
   gboolean  *align;
 };
 
-G_DEFINE_TYPE (GtkCellAreaBoxContext, _gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellAreaBoxContext, _gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT)
 
 static void
 free_cache_array (GArray *array)
@@ -167,9 +167,7 @@ _gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context)
 {
   GtkCellAreaBoxContextPrivate *priv;
 
-  box_context->priv = G_TYPE_INSTANCE_GET_PRIVATE (box_context,
-                                                   GTK_TYPE_CELL_AREA_BOX_CONTEXT,
-                                                   GtkCellAreaBoxContextPrivate);
+  box_context->priv = _gtk_cell_area_box_context_get_instance_private (box_context);
   priv = box_context->priv;
 
   priv->base_widths  = g_array_new (FALSE, TRUE, sizeof (CachedSize));
@@ -193,8 +191,6 @@ _gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class)
   context_class->reset                          = _gtk_cell_area_box_context_reset;
   context_class->get_preferred_height_for_width = _gtk_cell_area_box_context_get_preferred_height_for_width;
   context_class->get_preferred_width_for_height = _gtk_cell_area_box_context_get_preferred_width_for_height;
-
-  g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate));
 }
 
 /*************************************************************
index f464c3ab30233d59b231042cba94e8a29d969b83..e90abc737e6363aee85d6c430423cfe2098b277d 100644 (file)
@@ -80,14 +80,12 @@ enum {
   PROP_NAT_HEIGHT
 };
 
-G_DEFINE_TYPE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT)
 
 static void
 gtk_cell_area_context_init (GtkCellAreaContext *context)
 {
-  context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context,
-                                               GTK_TYPE_CELL_AREA_CONTEXT,
-                                               GtkCellAreaContextPrivate);
+  context->priv = gtk_cell_area_context_get_instance_private (context);
 }
 
 static void
@@ -194,8 +192,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
                                                      G_MAXINT,
                                                      -1,
                                                      G_PARAM_READABLE));
-
-  g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate));
 }
 
 /*************************************************************
index 9f4b4e203f9ef49bb833a479c069991284b5acdd..3ebe9ae5c0d24b24cc0d452f6d50ee0dc7f87212 100644 (file)
@@ -164,16 +164,21 @@ enum {
   LAST_SIGNAL
 };
 
+static gint GtkCellRenderer_private_offset;
 static guint  cell_renderer_signals[LAST_SIGNAL] = { 0 };
 
+static inline gpointer
+gtk_cell_renderer_get_instance_private (GtkCellRenderer *self)
+{
+  return (G_STRUCT_MEMBER_P (self, GtkCellRenderer_private_offset));
+}
+
 static void
 gtk_cell_renderer_init (GtkCellRenderer *cell)
 {
   GtkCellRendererPrivate *priv;
 
-  cell->priv = G_TYPE_INSTANCE_GET_PRIVATE (cell,
-                                            GTK_TYPE_CELL_RENDERER,
-                                            GtkCellRendererPrivate);
+  cell->priv = gtk_cell_renderer_get_instance_private (cell);
   priv = cell->priv;
 
   priv->mode = GTK_CELL_RENDERER_MODE_INERT;
@@ -427,7 +432,8 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class)
                 P_("Cell background set"),
                 P_("Whether the cell background color is set"));
 
-  g_type_class_add_private (class, sizeof (GtkCellRendererPrivate));
+  if (GtkCellRenderer_private_offset != 0)
+    g_type_class_adjust_private_offset (class, &GtkCellRenderer_private_offset);
 
   gtk_cell_renderer_class_set_accessible_type (class, GTK_TYPE_RENDERER_CELL_ACCESSIBLE);
 }
@@ -463,6 +469,8 @@ gtk_cell_renderer_get_type (void)
       cell_renderer_type = g_type_register_static (G_TYPE_INITIALLY_UNOWNED, "GtkCellRenderer",
                                                    &cell_renderer_info, G_TYPE_FLAG_ABSTRACT);
 
+      GtkCellRenderer_private_offset =
+        g_type_add_instance_private (cell_renderer_type, sizeof (GtkCellRendererPrivate));
       g_type_add_class_private (cell_renderer_type, sizeof (GtkCellRendererClassPrivate));
     }
 
index 32f385ea59556f7e2803257a0c4e402407e5726f..a9533619642e6a4bfb0d63f43427c7a1037ccbb4 100644 (file)
@@ -104,16 +104,14 @@ struct _GtkCellRendererAccelPrivate
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkCellRendererAccel, gtk_cell_renderer_accel, GTK_TYPE_CELL_RENDERER_TEXT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererAccel, gtk_cell_renderer_accel, GTK_TYPE_CELL_RENDERER_TEXT)
 
 static void
 gtk_cell_renderer_accel_init (GtkCellRendererAccel *cell_accel)
 {
   gchar *text;
 
-  cell_accel->priv = G_TYPE_INSTANCE_GET_PRIVATE (cell_accel,
-                                                  GTK_TYPE_CELL_RENDERER_ACCEL,
-                                                  GtkCellRendererAccelPrivate);
+  cell_accel->priv = gtk_cell_renderer_accel_get_instance_private (cell_accel);
 
   text = convert_keysym_state_to_string (cell_accel, 0, 0, 0);
   g_object_set (cell_accel, "text", text, NULL);
@@ -247,8 +245,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
                                          g_cclosure_marshal_VOID__STRING,
                                          G_TYPE_NONE, 1,
                                          G_TYPE_STRING);
-
-  g_type_class_add_private (cell_accel_class, sizeof (GtkCellRendererAccelPrivate));
 }
 
 
index 0518d1430727d06c01c2e2c641ff1fb56d5f0c72..cc1c44608d2c92857f95c86bbb1acb17ece834e6 100644 (file)
@@ -100,7 +100,7 @@ static guint cell_renderer_combo_signals[LAST_SIGNAL] = { 0, };
 
 #define GTK_CELL_RENDERER_COMBO_PATH "gtk-cell-renderer-combo-path"
 
-G_DEFINE_TYPE (GtkCellRendererCombo, gtk_cell_renderer_combo, GTK_TYPE_CELL_RENDERER_TEXT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererCombo, gtk_cell_renderer_combo, GTK_TYPE_CELL_RENDERER_TEXT)
 
 static void
 gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
@@ -204,8 +204,6 @@ gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
                  G_TYPE_NONE, 2,
                  G_TYPE_STRING,
                  GTK_TYPE_TREE_ITER);
-
-  g_type_class_add_private (klass, sizeof (GtkCellRendererComboPrivate));
 }
 
 static void
@@ -213,9 +211,7 @@ gtk_cell_renderer_combo_init (GtkCellRendererCombo *self)
 {
   GtkCellRendererComboPrivate *priv;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                            GTK_TYPE_CELL_RENDERER_COMBO,
-                                            GtkCellRendererComboPrivate);
+  self->priv = gtk_cell_renderer_combo_get_instance_private (self);
   priv = self->priv;
 
   priv->model = NULL;
index c45a73025ce709ba1373748d56faf4c85b656df9..19c372518f21ecb26fe62a76d462b3272ec23ed4 100644 (file)
@@ -98,19 +98,16 @@ struct _GtkCellRendererPixbufPrivate
   gchar *stock_detail;
 };
 
-
-G_DEFINE_TYPE (GtkCellRendererPixbuf, gtk_cell_renderer_pixbuf, GTK_TYPE_CELL_RENDERER)
-
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererPixbuf, gtk_cell_renderer_pixbuf, GTK_TYPE_CELL_RENDERER)
 
 static void
 gtk_cell_renderer_pixbuf_init (GtkCellRendererPixbuf *cellpixbuf)
 {
   GtkCellRendererPixbufPrivate *priv;
 
-  cellpixbuf->priv = G_TYPE_INSTANCE_GET_PRIVATE (cellpixbuf,
-                                                  GTK_TYPE_CELL_RENDERER_PIXBUF,
-                                                  GtkCellRendererPixbufPrivate);
+  cellpixbuf->priv = gtk_cell_renderer_pixbuf_get_instance_private (cellpixbuf);
   priv = cellpixbuf->priv;
+
   priv->icon_helper = _gtk_icon_helper_new ();
   priv->icon_size = GTK_ICON_SIZE_MENU;
 }
@@ -263,8 +260,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
 
 
 
-  g_type_class_add_private (object_class, sizeof (GtkCellRendererPixbufPrivate));
-
   gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_IMAGE_CELL_ACCESSIBLE);
 }
 
index 2e4b9b31c37376564d589b907b5723f90a3afa47..331254c8c274fe18f23e1311fe90826cd3bc054d 100644 (file)
@@ -107,6 +107,7 @@ static void gtk_cell_renderer_progress_render       (GtkCellRenderer         *ce
 
      
 G_DEFINE_TYPE_WITH_CODE (GtkCellRendererProgress, gtk_cell_renderer_progress, GTK_TYPE_CELL_RENDERER,
+                         G_ADD_PRIVATE (GtkCellRendererProgress)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 static void
@@ -225,9 +226,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
                                                          P_("Invert the direction in which the progress bar grows"),
                                                          FALSE,
                                                          GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, 
-                           sizeof (GtkCellRendererProgressPrivate));
 }
 
 static void
@@ -235,9 +233,7 @@ gtk_cell_renderer_progress_init (GtkCellRendererProgress *cellprogress)
 {
   GtkCellRendererProgressPrivate *priv;
 
-  cellprogress->priv = G_TYPE_INSTANCE_GET_PRIVATE (cellprogress,
-                                                    GTK_TYPE_CELL_RENDERER_PROGRESS,
-                                                    GtkCellRendererProgressPrivate);
+  cellprogress->priv = gtk_cell_renderer_progress_get_instance_private (cellprogress);
   priv = cellprogress->priv;
 
   priv->value = 0;
index d1c1148b6ccf08392770d0fa47ad715e8f70e9d3..1cea3a57d7c75c1cb0b33ed82ff63e050e38c1e8 100644 (file)
@@ -84,7 +84,7 @@ enum {
 
 #define GTK_CELL_RENDERER_SPIN_PATH "gtk-cell-renderer-spin-path"
 
-G_DEFINE_TYPE (GtkCellRendererSpin, gtk_cell_renderer_spin, GTK_TYPE_CELL_RENDERER_TEXT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererSpin, gtk_cell_renderer_spin, GTK_TYPE_CELL_RENDERER_TEXT)
 
 
 static void
@@ -144,8 +144,6 @@ gtk_cell_renderer_spin_class_init (GtkCellRendererSpinClass *klass)
                                                      P_("The number of decimal places to display"),
                                                      0, 20, 0,
                                                      GTK_PARAM_READWRITE));  
-
-  g_type_class_add_private (object_class, sizeof (GtkCellRendererSpinPrivate));
 }
 
 static void
@@ -153,9 +151,7 @@ gtk_cell_renderer_spin_init (GtkCellRendererSpin *self)
 {
   GtkCellRendererSpinPrivate *priv;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                            GTK_TYPE_CELL_RENDERER_SPIN,
-                                            GtkCellRendererSpinPrivate);
+  self->priv = gtk_cell_renderer_spin_get_instance_private (self);
   priv = self->priv;
 
   priv->adjustment = NULL;
index 075b817603cf1ae0b4a422dc2233b88a3f42721a..00c8ae875b22e62c1f6a7d8e11eea1647c4ada3a 100644 (file)
@@ -99,7 +99,7 @@ static void gtk_cell_renderer_spinner_render       (GtkCellRenderer      *cell,
                                                     const GdkRectangle   *cell_area,
                                                     GtkCellRendererState  flags);
 
-G_DEFINE_TYPE (GtkCellRendererSpinner, gtk_cell_renderer_spinner, GTK_TYPE_CELL_RENDERER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererSpinner, gtk_cell_renderer_spinner, GTK_TYPE_CELL_RENDERER)
 
 static void
 gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass)
@@ -159,17 +159,12 @@ gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass)
                                                       GTK_TYPE_ICON_SIZE, GTK_ICON_SIZE_MENU,
                                                       G_PARAM_READWRITE));
 
-
-  g_type_class_add_private (object_class, sizeof (GtkCellRendererSpinnerPrivate));
 }
 
 static void
 gtk_cell_renderer_spinner_init (GtkCellRendererSpinner *cell)
 {
-  cell->priv = G_TYPE_INSTANCE_GET_PRIVATE (cell,
-                                            GTK_TYPE_CELL_RENDERER_SPINNER,
-                                            GtkCellRendererSpinnerPrivate);
-
+  cell->priv = gtk_cell_renderer_spinner_get_instance_private (cell);
   cell->priv->pulse = 0;
   cell->priv->old_icon_size = GTK_ICON_SIZE_INVALID;
   cell->priv->icon_size = GTK_ICON_SIZE_MENU;
index 3399bb2be0450e7f63164e1200b3fb9b4a7e9a00..30ecda489fc3ee6097e9f473625898de610118d7 100644 (file)
@@ -204,7 +204,7 @@ struct _GtkCellRendererTextPrivate
   gulong entry_menu_popdown_timeout;
 };
 
-G_DEFINE_TYPE (GtkCellRendererText, gtk_cell_renderer_text, GTK_TYPE_CELL_RENDERER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererText, gtk_cell_renderer_text, GTK_TYPE_CELL_RENDERER)
 
 static void
 gtk_cell_renderer_text_init (GtkCellRendererText *celltext)
@@ -212,9 +212,7 @@ gtk_cell_renderer_text_init (GtkCellRendererText *celltext)
   GtkCellRendererTextPrivate *priv;
   GtkCellRenderer *cell = GTK_CELL_RENDERER (celltext);
 
-  celltext->priv = G_TYPE_INSTANCE_GET_PRIVATE (celltext,
-                                                GTK_TYPE_CELL_RENDERER_TEXT,
-                                                GtkCellRendererTextPrivate);
+  celltext->priv = gtk_cell_renderer_text_get_instance_private (celltext);
   priv = celltext->priv;
 
   gtk_cell_renderer_set_alignment (cell, 0.0, 0.5);
@@ -729,8 +727,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
                  G_TYPE_STRING,
                  G_TYPE_STRING);
 
-  g_type_class_add_private (object_class, sizeof (GtkCellRendererTextPrivate));
-
   gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_TEXT_CELL_ACCESSIBLE);
 }
 
index f94ff2a71a04b09382fb2c7b698bd7712cff0034..bee988e39d0db6b7db10619b3aace06944a4522c 100644 (file)
@@ -96,7 +96,7 @@ struct _GtkCellRendererTogglePrivate
 };
 
 
-G_DEFINE_TYPE (GtkCellRendererToggle, gtk_cell_renderer_toggle, GTK_TYPE_CELL_RENDERER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCellRendererToggle, gtk_cell_renderer_toggle, GTK_TYPE_CELL_RENDERER)
 
 
 static void
@@ -104,9 +104,7 @@ gtk_cell_renderer_toggle_init (GtkCellRendererToggle *celltoggle)
 {
   GtkCellRendererTogglePrivate *priv;
 
-  celltoggle->priv = G_TYPE_INSTANCE_GET_PRIVATE (celltoggle,
-                                                  GTK_TYPE_CELL_RENDERER_TOGGLE,
-                                                  GtkCellRendererTogglePrivate);
+  celltoggle->priv = gtk_cell_renderer_toggle_get_instance_private (celltoggle);
   priv = celltoggle->priv;
 
   priv->activatable = TRUE;
@@ -194,8 +192,6 @@ gtk_cell_renderer_toggle_class_init (GtkCellRendererToggleClass *class)
                  G_TYPE_NONE, 1,
                  G_TYPE_STRING);
 
-  g_type_class_add_private (object_class, sizeof (GtkCellRendererTogglePrivate));
-
   gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE);
 }
 
index d5d33ede3221e98c238da93eb3607c0dba842931..ce36676c7d88b00dced14e226009e0ed69ac8beb 100644 (file)
@@ -153,12 +153,13 @@ enum
   PROP_FIT_MODEL
 };
 
-G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, 
+G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET,
+                         G_ADD_PRIVATE (GtkCellView)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                gtk_cell_view_cell_layout_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_cell_view_buildable_init)
-                        G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL));
+                        G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 static void
 gtk_cell_view_class_init (GtkCellViewClass *klass)
@@ -322,8 +323,6 @@ gtk_cell_view_class_init (GtkCellViewClass *klass)
   ADD_SET_PROP ("background-set", PROP_BACKGROUND_SET,
                 P_("Background set"),
                 P_("Whether this tag affects the background color"));
-
-  g_type_class_add_private (gobject_class, sizeof (GtkCellViewPrivate));
 }
 
 static void
@@ -533,16 +532,10 @@ gtk_cell_view_set_property (GObject      *object,
 static void
 gtk_cell_view_init (GtkCellView *cellview)
 {
-  GtkCellViewPrivate *priv;
-
-  cellview->priv = G_TYPE_INSTANCE_GET_PRIVATE (cellview,
-                                                GTK_TYPE_CELL_VIEW,
-                                                GtkCellViewPrivate);
-  priv = cellview->priv;
+  cellview->priv = gtk_cell_view_get_instance_private (cellview);
+  cellview->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
 
   gtk_widget_set_has_window (GTK_WIDGET (cellview), FALSE);
-
-  priv->orientation = GTK_ORIENTATION_HORIZONTAL;
 }
 
 static void
index 64167a02840b27b4d65f4777c2feb082e84cc26e..e29d88e2c84bb8985c0b94463c42cef8c7005930 100644 (file)
@@ -97,6 +97,7 @@ static guint                check_menu_item_signals[LAST_SIGNAL] = { 0 };
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkCheckMenuItem, gtk_check_menu_item, GTK_TYPE_MENU_ITEM,
+                         G_ADD_PRIVATE (GtkCheckMenuItem)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                 gtk_check_menu_item_activatable_interface_init))
 G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -176,8 +177,6 @@ gtk_check_menu_item_class_init (GtkCheckMenuItemClass *klass)
                   NULL, NULL,
                   _gtk_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
-
-  g_type_class_add_private (klass, sizeof (GtkCheckMenuItemPrivate));
 }
 
 static void 
@@ -482,14 +481,8 @@ gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item)
 static void
 gtk_check_menu_item_init (GtkCheckMenuItem *check_menu_item)
 {
-  GtkCheckMenuItemPrivate *priv;
-
-  check_menu_item->priv = G_TYPE_INSTANCE_GET_PRIVATE (check_menu_item,
-                                                       GTK_TYPE_CHECK_MENU_ITEM,
-                                                       GtkCheckMenuItemPrivate);
-  priv = check_menu_item->priv; 
-
-  priv->active = FALSE;
+  check_menu_item->priv = gtk_check_menu_item_get_instance_private (check_menu_item);
+  check_menu_item->priv->active = FALSE;
 }
 
 static gint
index f607bf5244fabe96819669e2eda6fb8ace718b40..ae9afd14e2c9db5d2ab2084874ea62839246b3fe 100644 (file)
@@ -136,6 +136,7 @@ static const GtkTargetEntry drop_types[] = { { "application/x-color", 0, 0 } };
 static void gtk_color_button_iface_init (GtkColorChooserInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkColorButton, gtk_color_button, GTK_TYPE_BUTTON,
+                         G_ADD_PRIVATE (GtkColorButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_COLOR_CHOOSER,
                                                 gtk_color_button_iface_init))
 
@@ -257,8 +258,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
                                                   NULL, NULL,
                                                   _gtk_marshal_VOID__VOID,
                                                   G_TYPE_NONE, 0);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkColorButtonPrivate));
 }
 
 static gboolean
@@ -427,9 +426,7 @@ gtk_color_button_init (GtkColorButton *button)
   PangoRectangle rect;
 
   /* Create the widgets */
-  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                              GTK_TYPE_COLOR_BUTTON,
-                                              GtkColorButtonPrivate);
+  button->priv = gtk_color_button_get_instance_private (button);
 
   button->priv->draw_area = gtk_drawing_area_new ();
   layout = gtk_widget_create_pango_layout (GTK_WIDGET (button), "Black");
index 51851aa7ecb54c05b5981dc65f9851381c7de33f..b8c18487e0178418cebbf5ae0a9cee8290f74954 100644 (file)
@@ -58,6 +58,7 @@ enum
 static void gtk_color_chooser_dialog_iface_init (GtkColorChooserInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkColorChooserDialog, gtk_color_chooser_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkColorChooserDialog)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_COLOR_CHOOSER,
                                                 gtk_color_chooser_dialog_iface_init))
 
@@ -100,9 +101,7 @@ selected_cb (GtkButton *button,
 static void
 gtk_color_chooser_dialog_init (GtkColorChooserDialog *cc)
 {
-  cc->priv = G_TYPE_INSTANCE_GET_PRIVATE (cc,
-                                          GTK_TYPE_COLOR_CHOOSER_DIALOG,
-                                          GtkColorChooserDialogPrivate);
+  cc->priv = gtk_color_chooser_dialog_get_instance_private (cc);
 
   gtk_widget_init_template (GTK_WIDGET (cc));
 }
@@ -209,8 +208,6 @@ gtk_color_chooser_dialog_class_init (GtkColorChooserDialogClass *class)
   gtk_widget_class_bind_callback (widget_class, selected_cb);
   gtk_widget_class_bind_callback (widget_class, propagate_notify);
   gtk_widget_class_bind_callback (widget_class, color_activated_cb);
-
-  g_type_class_add_private (class, sizeof (GtkColorChooserDialogPrivate));
 }
 
 static void
index 8e6cf2c82e78506d8cdf72e1aa032b3c4d91b01e..71bdc89dc06245e3a2492ff4bf55c272f7636f2b 100644 (file)
@@ -87,6 +87,7 @@ enum
 static void gtk_color_chooser_widget_iface_init (GtkColorChooserInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkColorChooserWidget, gtk_color_chooser_widget, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkColorChooserWidget)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_COLOR_CHOOSER,
                                                 gtk_color_chooser_widget_iface_init))
 
@@ -502,7 +503,7 @@ gtk_color_chooser_widget_init (GtkColorChooserWidget *cc)
   AtkObject *atk_obj;
   gchar *text, *name;
 
-  cc->priv = G_TYPE_INSTANCE_GET_PRIVATE (cc, GTK_TYPE_COLOR_CHOOSER_WIDGET, GtkColorChooserWidgetPrivate);
+  cc->priv = gtk_color_chooser_widget_get_instance_private (cc);
 
   cc->priv->use_alpha = TRUE;
 
@@ -677,8 +678,6 @@ gtk_color_chooser_widget_class_init (GtkColorChooserWidgetClass *class)
   g_object_class_install_property (object_class, PROP_SHOW_EDITOR,
       g_param_spec_boolean ("show-editor", P_("Show editor"), P_("Show editor"),
                             FALSE, GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkColorChooserWidgetPrivate));
 }
 
 /* GtkColorChooser implementation {{{1 */
index d3925c56ce1a44208617cb44e51bf1521b0c7373..855cbcbe42f7ae8d7259bc1266d8a29f3ebecd95 100644 (file)
@@ -81,6 +81,7 @@ enum
 static void gtk_color_editor_iface_init (GtkColorChooserInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkColorEditor, gtk_color_editor, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkColorEditor)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_COLOR_CHOOSER,
                                                 gtk_color_editor_iface_init))
 
@@ -344,9 +345,7 @@ gtk_color_editor_init (GtkColorEditor *editor)
 {
   GdkRGBA transparent = { 0, 0, 0, 0 };
 
-  editor->priv = G_TYPE_INSTANCE_GET_PRIVATE (editor,
-                                              GTK_TYPE_COLOR_EDITOR,
-                                              GtkColorEditorPrivate);
+  editor->priv = gtk_color_editor_get_instance_private (editor);
   editor->priv->use_alpha = TRUE;
 
   g_type_ensure (GTK_TYPE_COLOR_SCALE);
@@ -493,8 +492,6 @@ gtk_color_editor_class_init (GtkColorEditorClass *class)
   gtk_widget_class_bind_callback (widget_class, entry_apply);
   gtk_widget_class_bind_callback (widget_class, entry_focus_out);
   gtk_widget_class_bind_callback (widget_class, popup_edit);
-
-  g_type_class_add_private (class, sizeof (GtkColorEditorPrivate));
 }
 
 static void
index 3a500115ed066794ae98f81406d2687577b680ea..78d5707a59674672a888003ad4d9145b198df94a 100644 (file)
@@ -44,7 +44,7 @@ enum {
   PROP_V_ADJUSTMENT
 };
 
-G_DEFINE_TYPE (GtkColorPlane, gtk_color_plane, GTK_TYPE_DRAWING_AREA)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkColorPlane, gtk_color_plane, GTK_TYPE_DRAWING_AREA)
 
 static void
 sv_to_xy (GtkColorPlane *plane,
@@ -428,9 +428,7 @@ gtk_color_plane_init (GtkColorPlane *plane)
 {
   AtkObject *atk_obj;
 
-  plane->priv = G_TYPE_INSTANCE_GET_PRIVATE (plane,
-                                             GTK_TYPE_COLOR_PLANE,
-                                             GtkColorPlanePrivate);
+  plane->priv = gtk_color_plane_get_instance_private (plane);
 
   gtk_widget_set_can_focus (GTK_WIDGET (plane), TRUE);
   gtk_widget_set_events (GTK_WIDGET (plane), GDK_KEY_PRESS_MASK
@@ -552,8 +550,6 @@ gtk_color_plane_class_init (GtkColorPlaneClass *class)
                                                        GTK_TYPE_ADJUSTMENT,
                                                        G_PARAM_WRITABLE |
                                                        G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (class, sizeof (GtkColorPlanePrivate));
 }
 
 GtkWidget *
@@ -561,13 +557,9 @@ gtk_color_plane_new (GtkAdjustment *h_adj,
                      GtkAdjustment *s_adj,
                      GtkAdjustment *v_adj)
 {
-  GtkColorPlane *plane;
-
-  plane = (GtkColorPlane *) g_object_new (GTK_TYPE_COLOR_PLANE,
-                                         "h-adjustment", h_adj,
-                                         "s-adjustment", s_adj,
-                                         "v-adjustment", v_adj,
-                                         NULL);
-
-  return (GtkWidget *)plane;
+  return g_object_new (GTK_TYPE_COLOR_PLANE,
+                       "h-adjustment", h_adj,
+                       "s-adjustment", s_adj,
+                       "v-adjustment", v_adj,
+                       NULL);
 }
index 88e4459b59441b8886d0cb51f86ec27670d5d674..2226ba04e5ec0f6d8704481508a14c03183b7764 100644 (file)
@@ -46,7 +46,7 @@ enum
   PROP_SCALE_TYPE
 };
 
-G_DEFINE_TYPE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE)
 
 static void
 gtk_color_scale_get_trough_size (GtkColorScale *scale,
@@ -248,9 +248,8 @@ scale_draw (GtkWidget *widget,
 static void
 gtk_color_scale_init (GtkColorScale *scale)
 {
-  scale->priv = G_TYPE_INSTANCE_GET_PRIVATE (scale,
-                                             GTK_TYPE_COLOR_SCALE,
-                                             GtkColorScalePrivate);
+  scale->priv = gtk_color_scale_get_instance_private (scale);
+
   gtk_widget_add_events (GTK_WIDGET (scale), GDK_TOUCH_MASK);
 }
 
@@ -383,8 +382,6 @@ gtk_color_scale_class_init (GtkColorScaleClass *class)
       g_param_spec_int ("scale-type", P_("Scale type"), P_("Scale type"),
                         0, 1, 0,
                         GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (class, sizeof (GtkColorScalePrivate));
 }
 
 void
@@ -401,9 +398,9 @@ GtkWidget *
 gtk_color_scale_new (GtkAdjustment     *adjustment,
                      GtkColorScaleType  type)
 {
-  return (GtkWidget *) g_object_new (GTK_TYPE_COLOR_SCALE,
-                                     "adjustment", adjustment,
-                                     "draw-value", FALSE,
-                                     "scale-type", type,
-                                     NULL);
+  return g_object_new (GTK_TYPE_COLOR_SCALE,
+                       "adjustment", adjustment,
+                       "draw-value", FALSE,
+                       "scale-type", type,
+                       NULL);
 }
index 8770f19e028fa3f0192936fbcc4d2ebac604ed43..a4073fd781523c9246d1b3e180fe3937a17ad592 100644 (file)
@@ -65,20 +65,17 @@ enum
 
 static guint signals[LAST_SIGNAL];
 
-G_DEFINE_TYPE (GtkColorSwatch, gtk_color_swatch, GTK_TYPE_WIDGET)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkColorSwatch, gtk_color_swatch, GTK_TYPE_WIDGET)
 
 static void
 gtk_color_swatch_init (GtkColorSwatch *swatch)
 {
-  swatch->priv = G_TYPE_INSTANCE_GET_PRIVATE (swatch,
-                                              GTK_TYPE_COLOR_SWATCH,
-                                              GtkColorSwatchPrivate);
+  swatch->priv = gtk_color_swatch_get_instance_private (swatch);
+  swatch->priv->use_alpha = TRUE;
+  swatch->priv->selectable = TRUE;
 
   gtk_widget_set_can_focus (GTK_WIDGET (swatch), TRUE);
   gtk_widget_set_has_window (GTK_WIDGET (swatch), FALSE);
-
-  swatch->priv->use_alpha = TRUE;
-  swatch->priv->selectable = TRUE;
 }
 
 #define INTENSITY(r, g, b) ((r) * 0.30 + (g) * 0.59 + (b) * 0.11)
@@ -782,8 +779,6 @@ gtk_color_swatch_class_init (GtkColorSwatchClass *class)
       g_param_spec_boolean ("selectable", P_("Selectable"), P_("Whether the swatch is selectable"),
                             TRUE, GTK_PARAM_READWRITE));
 
-  g_type_class_add_private (object_class, sizeof (GtkColorSwatchPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COLOR_SWATCH_ACCESSIBLE);
 }
 
index 794cd00dd33688d706377bc942035cf8f1863320..c5ecb293e4acc3a22601a7799e2a517dd2ed9838 100644 (file)
@@ -472,6 +472,7 @@ static void     gtk_combo_box_direction_changed              (GtkWidget    *widg
                                                               GtkTextDirection  previous_direction);
 
 G_DEFINE_TYPE_WITH_CODE (GtkComboBox, gtk_combo_box, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkComboBox)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                 gtk_combo_box_cell_layout_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE,
@@ -1070,8 +1071,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
                                                               GTK_SHADOW_NONE,
                                                               GTK_PARAM_READABLE));
 
-  g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COMBO_BOX_ACCESSIBLE);
 }
 
@@ -1102,9 +1101,7 @@ gtk_combo_box_init (GtkComboBox *combo_box)
 {
   GtkComboBoxPrivate *priv;
 
-  combo_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (combo_box,
-                                                 GTK_TYPE_COMBO_BOX,
-                                                 GtkComboBoxPrivate);
+  combo_box->priv = gtk_combo_box_get_instance_private (combo_box);
   priv = combo_box->priv;
 
   priv->wrap_width = 0;
index 2d6d2df9e46073a2b7fc8432ddbaab0011dd43ab..989a36f30712fad2239aa32176f05c9be528d35d 100644 (file)
@@ -356,6 +356,7 @@ static guint                 vadjustment_key_id = 0;
 static const gchar           hadjustment_key[] = "gtk-hadjustment";
 static guint                 hadjustment_key_id = 0;
 static guint                 container_signals[LAST_SIGNAL] = { 0 };
+static gint                  GtkContainer_private_offset;
 static GtkWidgetClass       *parent_class = NULL;
 extern GParamSpecPool       *_gtk_widget_child_property_pool;
 extern GObjectNotifyContext *_gtk_widget_child_property_notify_context;
@@ -363,6 +364,12 @@ static GtkBuildableIface    *parent_buildable_iface;
 
 
 /* --- functions --- */
+static inline gpointer
+gtk_container_get_instance_private (GtkContainer *self)
+{
+  return G_STRUCT_MEMBER_P (self, GtkContainer_private_offset);
+}
+
 GType
 gtk_container_get_type (void)
 {
@@ -395,6 +402,9 @@ gtk_container_get_type (void)
         g_type_register_static (GTK_TYPE_WIDGET, I_("GtkContainer"),
                                 &container_info, G_TYPE_FLAG_ABSTRACT);
 
+      GtkContainer_private_offset =
+        g_type_add_instance_private (container_type, sizeof (GtkContainerPrivate));
+
       g_type_add_interface_static (container_type,
                                    GTK_TYPE_BUILDABLE,
                                    &buildable_info);
@@ -526,7 +536,8 @@ gtk_container_class_init (GtkContainerClass *class)
                   G_TYPE_NONE, 1,
                   GTK_TYPE_WIDGET);
 
-  g_type_class_add_private (class, sizeof (GtkContainerPrivate));
+  if (GtkContainer_private_offset != 0)
+    g_type_class_adjust_private_offset (class, &GtkContainer_private_offset);
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_CONTAINER_ACCESSIBLE);
 }
@@ -1348,9 +1359,7 @@ gtk_container_init (GtkContainer *container)
 {
   GtkContainerPrivate *priv;
 
-  container->priv = G_TYPE_INSTANCE_GET_PRIVATE (container,
-                                                 GTK_TYPE_CONTAINER,
-                                                 GtkContainerPrivate);
+  container->priv = gtk_container_get_instance_private (container);
   priv = container->priv;
 
   priv->focus_child = NULL;
index a480dfb97a628fa7d3205c83b01c479f67f153a4..e8245587e096927550fccc88aac46fe0c691ac57 100644 (file)
@@ -1047,6 +1047,7 @@ gtk_css_provider_error_quark (void)
 }
 
 G_DEFINE_TYPE_EXTENDED (GtkCssProvider, gtk_css_provider, G_TYPE_OBJECT, 0,
+                        G_ADD_PRIVATE (GtkCssProvider)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER,
                                                gtk_css_style_provider_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER_PRIVATE,
@@ -1116,8 +1117,6 @@ gtk_css_provider_class_init (GtkCssProviderClass *klass)
   object_class->finalize = gtk_css_provider_finalize;
 
   klass->parsing_error = gtk_css_provider_parsing_error;
-
-  g_type_class_add_private (object_class, sizeof (GtkCssProviderPrivate));
 }
 
 static void
@@ -1387,9 +1386,7 @@ gtk_css_provider_init (GtkCssProvider *css_provider)
 {
   GtkCssProviderPrivate *priv;
 
-  priv = css_provider->priv = G_TYPE_INSTANCE_GET_PRIVATE (css_provider,
-                                                           GTK_TYPE_CSS_PROVIDER,
-                                                           GtkCssProviderPrivate);
+  priv = css_provider->priv = gtk_css_provider_get_instance_private (css_provider);
 
   priv->rulesets = g_array_new (FALSE, FALSE, sizeof (GtkCssRuleset));
 
index f637e131aba2cd046b166ed2a1592a12e89f301e..713bb7e0bc884e3c1da8aa175fb0c2acd067d109 100644 (file)
@@ -86,7 +86,7 @@ enum {
 };
 
 
-G_DEFINE_TYPE (GtkCustomPaperUnixDialog, gtk_custom_paper_unix_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkCustomPaperUnixDialog, gtk_custom_paper_unix_dialog, GTK_TYPE_DIALOG)
 
 
 static void gtk_custom_paper_unix_dialog_finalize  (GObject                *object);
@@ -269,13 +269,7 @@ _gtk_print_save_custom_papers (GtkListStore *store)
 static void
 gtk_custom_paper_unix_dialog_class_init (GtkCustomPaperUnixDialogClass *class)
 {
-  GObjectClass *object_class;
-
-  object_class = (GObjectClass *) class;
-
-  object_class->finalize = gtk_custom_paper_unix_dialog_finalize;
-
-  g_type_class_add_private (class, sizeof (GtkCustomPaperUnixDialogPrivate));
+  G_OBJECT_CLASS (class)->finalize = gtk_custom_paper_unix_dialog_finalize;
 }
 
 static void
@@ -294,9 +288,7 @@ gtk_custom_paper_unix_dialog_init (GtkCustomPaperUnixDialog *dialog)
   GtkCustomPaperUnixDialogPrivate *priv;
   GtkTreeIter iter;
 
-  dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                              GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG,
-                                              GtkCustomPaperUnixDialogPrivate);
+  dialog->priv = gtk_custom_paper_unix_dialog_get_instance_private (dialog);
   priv = dialog->priv;
 
   priv->print_backends = NULL;
index cd20b8d5510dbd29b68a5810f7165572b9e12d76..28e9480d9bc33b900b48af4dda5cf5111e037b21 100644 (file)
@@ -223,17 +223,16 @@ enum {
 static guint dialog_signals[LAST_SIGNAL];
 
 G_DEFINE_TYPE_WITH_CODE (GtkDialog, gtk_dialog, GTK_TYPE_WINDOW,
+                         G_ADD_PRIVATE (GtkDialog)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_dialog_buildable_interface_init))
 
 static void
 gtk_dialog_class_init (GtkDialogClass *class)
 {
-  GObjectClass *gobject_class;
   GtkWidgetClass *widget_class;
   GtkBindingSet *binding_set;
 
-  gobject_class = G_OBJECT_CLASS (class);
   widget_class = GTK_WIDGET_CLASS (class);
 
   widget_class->map = gtk_dialog_map;
@@ -243,8 +242,6 @@ gtk_dialog_class_init (GtkDialogClass *class)
 
   class->close = gtk_dialog_close;
 
-  g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
-
   /**
    * GtkDialog::response:
    * @dialog: the object on which the signal is emitted
@@ -371,9 +368,7 @@ update_spacings (GtkDialog *dialog)
 static void
 gtk_dialog_init (GtkDialog *dialog)
 {
-  dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                              GTK_TYPE_DIALOG,
-                                              GtkDialogPrivate);
+  dialog->priv = gtk_dialog_get_instance_private (dialog);
 
   gtk_widget_init_template (GTK_WIDGET (dialog));
 
index 25dd4b0ad6c951db64997e1385153f2ae7c7912b..581a7b3287a6395b43e519fe70b21b877e34b2af 100644 (file)
@@ -642,6 +642,7 @@ static void         buffer_disconnect_signals          (GtkEntry       *entry);
 static GtkEntryBuffer *get_buffer                      (GtkEntry       *entry);
 
 G_DEFINE_TYPE_WITH_CODE (GtkEntry, gtk_entry, GTK_TYPE_WIDGET,
+                         G_ADD_PRIVATE (GtkEntry)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE,
                                                 gtk_entry_editable_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE,
@@ -1994,7 +1995,6 @@ gtk_entry_class_init (GtkEntryClass *class)
                                                                GTK_PARAM_READABLE |
                                                                G_PARAM_DEPRECATED));
 
-  g_type_class_add_private (gobject_class, sizeof (GtkEntryPrivate));
   test_touchscreen = g_getenv ("GTK_TEST_TOUCHSCREEN") != NULL;
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ENTRY_ACCESSIBLE);
@@ -2590,9 +2590,7 @@ gtk_entry_init (GtkEntry *entry)
   GtkStyleContext *context;
   GtkEntryPrivate *priv;
 
-  entry->priv = G_TYPE_INSTANCE_GET_PRIVATE (entry,
-                                             GTK_TYPE_ENTRY,
-                                             GtkEntryPrivate);
+  entry->priv = gtk_entry_get_instance_private (entry);
   priv = entry->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (entry), TRUE);
index 2190a10f71a416b9887c8af090eb9289a0f7c030..067048ff97fcd29b6a2c51bc1fbaf30898e457bb 100644 (file)
@@ -76,7 +76,7 @@ struct _GtkEntryBufferPrivate
   gint   max_length;
 };
 
-G_DEFINE_TYPE (GtkEntryBuffer, gtk_entry_buffer, G_TYPE_OBJECT);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkEntryBuffer, gtk_entry_buffer, G_TYPE_OBJECT)
 
 /* --------------------------------------------------------------------------------
  * DEFAULT IMPLEMENTATIONS OF TEXT BUFFER
@@ -245,7 +245,7 @@ gtk_entry_buffer_init (GtkEntryBuffer *buffer)
 {
   GtkEntryBufferPrivate *pv;
 
-  pv = buffer->priv = G_TYPE_INSTANCE_GET_PRIVATE (buffer, GTK_TYPE_ENTRY_BUFFER, GtkEntryBufferPrivate);
+  pv = buffer->priv = gtk_entry_buffer_get_instance_private (buffer);
 
   pv->normal_text = NULL;
   pv->normal_text_chars = 0;
@@ -335,8 +335,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
   klass->inserted_text = gtk_entry_buffer_real_inserted_text;
   klass->deleted_text = gtk_entry_buffer_real_deleted_text;
 
-  g_type_class_add_private (gobject_class, sizeof (GtkEntryBufferPrivate));
-
   /**
    * GtkEntryBuffer:text:
    *
index b0bf1c8695fa4a988ca89aebc4166bbe8c1ec0f4..582287a422bf0f7b3d1d46352720eb12846fed52 100644 (file)
@@ -189,6 +189,7 @@ static guint entry_completion_signals[LAST_SIGNAL] = { 0 };
 static void     gtk_entry_completion_buildable_init      (GtkBuildableIface  *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkEntryCompletion, gtk_entry_completion, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkEntryCompletion)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                 gtk_entry_completion_cell_layout_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
@@ -452,8 +453,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
                                                         P_("The GtkCellArea used to layout cells"),
                                                         GTK_TYPE_CELL_AREA,
                                                         GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (object_class, sizeof (GtkEntryCompletionPrivate));
 }
 
 
@@ -488,9 +487,7 @@ gtk_entry_completion_init (GtkEntryCompletion *completion)
   GtkEntryCompletionPrivate *priv;
 
   /* yes, also priv, need to keep the code readable */
-  completion->priv = G_TYPE_INSTANCE_GET_PRIVATE (completion,
-                                                  GTK_TYPE_ENTRY_COMPLETION,
-                                                  GtkEntryCompletionPrivate);
+  completion->priv = gtk_entry_completion_get_instance_private (completion);
   priv = completion->priv;
 
   priv->minimum_key_length = 1;
index b696d1b1e331a7d070ea461dbef2576c74b3eab7..4ed207e758c8674654b8761ceb48c298b945f293 100644 (file)
@@ -84,7 +84,7 @@ static void     gtk_event_box_get_property  (GObject          *object,
                                              GValue           *value,
                                              GParamSpec       *pspec);
 
-G_DEFINE_TYPE (GtkEventBox, gtk_event_box, GTK_TYPE_BIN)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkEventBox, gtk_event_box, GTK_TYPE_BIN)
 
 static void
 gtk_event_box_class_init (GtkEventBoxClass *class)
@@ -122,23 +122,15 @@ gtk_event_box_class_init (GtkEventBoxClass *class)
                                                         P_("Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it."),
                                                         FALSE,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkEventBoxPrivate));
 }
 
 static void
 gtk_event_box_init (GtkEventBox *event_box)
 {
-  GtkEventBoxPrivate *priv;
-
   gtk_widget_set_has_window (GTK_WIDGET (event_box), TRUE);
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (event_box,
-                                      GTK_TYPE_EVENT_BOX,
-                                      GtkEventBoxPrivate);
-
-  event_box->priv = priv;
-  priv->above_child = FALSE;
+  event_box->priv = gtk_event_box_get_instance_private (event_box);
+  event_box->priv->above_child = FALSE;
 }
 
 /**
index 6f6a196a6f4da67b286e615180a7d6a203a4dc39..dac07465b2697fad51c7f5d578dde68fe469c8cf 100644 (file)
@@ -228,6 +228,7 @@ static void  gtk_expander_get_preferred_width_for_height  (GtkWidget           *
                                                            gint                *natural_height);
 
 G_DEFINE_TYPE_WITH_CODE (GtkExpander, gtk_expander, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkExpander)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_expander_buildable_init))
 
@@ -272,8 +273,6 @@ gtk_expander_class_init (GtkExpanderClass *klass)
 
   klass->activate = gtk_expander_activate;
 
-  g_type_class_add_private (klass, sizeof (GtkExpanderPrivate));
-
   g_object_class_install_property (gobject_class,
                                    PROP_EXPANDED,
                                    g_param_spec_boolean ("expanded",
@@ -383,9 +382,7 @@ gtk_expander_init (GtkExpander *expander)
 {
   GtkExpanderPrivate *priv;
 
-  expander->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (expander,
-                                                       GTK_TYPE_EXPANDER,
-                                                       GtkExpanderPrivate);
+  expander->priv = priv = gtk_expander_get_instance_private (expander);
 
   gtk_widget_set_can_focus (GTK_WIDGET (expander), TRUE);
   gtk_widget_set_has_window (GTK_WIDGET (expander), FALSE);
index c69870e8f29ec54738691135263b669655d4df37..6259b08664db5b85fcd3c43f6049c08315befb3d 100644 (file)
@@ -352,9 +352,10 @@ static guint file_chooser_button_signals[LAST_SIGNAL] = { 0 };
  *  GType Declaration  *
  * ******************* */
 
-G_DEFINE_TYPE_WITH_CODE (GtkFileChooserButton, gtk_file_chooser_button, GTK_TYPE_BOX, { \
-    G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER, gtk_file_chooser_button_file_chooser_iface_init) \
-})
+G_DEFINE_TYPE_WITH_CODE (GtkFileChooserButton, gtk_file_chooser_button, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkFileChooserButton)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
+                                                gtk_file_chooser_button_file_chooser_iface_init))
 
 
 /* ***************** *
@@ -482,8 +483,6 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
   gtk_widget_class_bind_callback (widget_class, button_clicked_cb);
   gtk_widget_class_bind_callback (widget_class, combo_box_changed_cb);
   gtk_widget_class_bind_callback (widget_class, combo_box_notify_popup_shown_cb);
-
-  g_type_class_add_private (class, sizeof (GtkFileChooserButtonPrivate));
 }
 
 static void
@@ -492,9 +491,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
   GtkFileChooserButtonPrivate *priv;
   GtkTargetList *target_list;
 
-  priv = button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                                     GTK_TYPE_FILE_CHOOSER_BUTTON,
-                                                     GtkFileChooserButtonPrivate);
+  priv = button->priv = gtk_file_chooser_button_get_instance_private (button);
 
   priv->icon_size = FALLBACK_ICON_SIZE;
   priv->focus_on_click = TRUE;
index d1e4ceafd77a433b0b0549306d6ab81a0d8518cf..33b5178d0b541826859fd49b12ae866586cdf8a7 100644 (file)
@@ -546,6 +546,7 @@ static void     unset_file_system_backend    (GtkFileChooserDefault *impl);
 \f
 
 G_DEFINE_TYPE_WITH_CODE (GtkFileChooserDefault, _gtk_file_chooser_default, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkFileChooserDefault)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
                                                gtk_file_chooser_default_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER_EMBED,
@@ -7472,8 +7473,6 @@ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
 
   _gtk_file_chooser_install_properties (gobject_class);
 
-  g_type_class_add_private (gobject_class, sizeof (GtkFileChooserDefaultPrivate));
-
   /* Bind class to template */
 
   gtk_widget_class_set_template_from_resource (widget_class,
@@ -7596,9 +7595,7 @@ _gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
 #ifdef PROFILE_FILE_CHOOSER
   access ("MARK: *** CREATE FILE CHOOSER", F_OK);
 #endif
-  impl->priv = G_TYPE_INSTANCE_GET_PRIVATE (impl,
-                                           GTK_TYPE_FILE_CHOOSER_DEFAULT,
-                                           GtkFileChooserDefaultPrivate);
+  impl->priv = _gtk_file_chooser_default_get_instance_private (impl);
   priv = impl->priv;
 
   priv->local_only = TRUE;
index f3e521db549acba98b41e9df938d6a0c8a643a25..1136c2c8ef76d6d3e98f080ac5775fa04afd210e 100644 (file)
@@ -201,8 +201,6 @@ struct _GtkFileChooserDialogPrivate
   gboolean response_requested;
 };
 
-#define GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE(o)  (GTK_FILE_CHOOSER_DIALOG (o)->priv)
-
 static void     gtk_file_chooser_dialog_set_property (GObject               *object,
                                                      guint                  prop_id,
                                                      const GValue          *value,
@@ -225,6 +223,7 @@ static void response_cb (GtkDialog *dialog,
                         gint       response_id);
 
 G_DEFINE_TYPE_WITH_CODE (GtkFileChooserDialog, gtk_file_chooser_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkFileChooserDialog)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
                                                _gtk_file_chooser_delegate_iface_init))
 
@@ -254,23 +253,18 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
   gtk_widget_class_bind_callback (widget_class, file_chooser_widget_file_activated);
   gtk_widget_class_bind_callback (widget_class, file_chooser_widget_default_size_changed);
   gtk_widget_class_bind_callback (widget_class, file_chooser_widget_response_requested);
-
-  g_type_class_add_private (class, sizeof (GtkFileChooserDialogPrivate));
 }
 
 static void
 gtk_file_chooser_dialog_init (GtkFileChooserDialog *dialog)
 {
-  GtkFileChooserDialogPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                                                  GTK_TYPE_FILE_CHOOSER_DIALOG,
-                                                                  GtkFileChooserDialogPrivate);
-  dialog->priv = priv;
+  dialog->priv = gtk_file_chooser_dialog_get_instance_private (dialog);
   dialog->priv->response_requested = FALSE;
 
   gtk_widget_init_template (GTK_WIDGET (dialog));
 
   _gtk_file_chooser_set_delegate (GTK_FILE_CHOOSER (dialog),
-                                 GTK_FILE_CHOOSER (priv->widget));
+                                 GTK_FILE_CHOOSER (dialog->priv->widget));
 }
 
 static gboolean
@@ -345,7 +339,7 @@ file_chooser_widget_default_size_changed (GtkWidget            *widget,
   gint default_width, default_height;
   GtkRequisition req, widget_req;
 
-  priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
+  priv = gtk_file_chooser_dialog_get_instance_private (dialog);
 
   /* Unset any previously set size */
   gtk_widget_set_size_request (GTK_WIDGET (dialog), -1, -1);
@@ -430,7 +424,9 @@ gtk_file_chooser_dialog_set_property (GObject         *object,
                                      GParamSpec      *pspec)
 
 {
-  GtkFileChooserDialogPrivate *priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (object);
+  GtkFileChooserDialogPrivate *priv;
+
+  priv = gtk_file_chooser_dialog_get_instance_private (GTK_FILE_CHOOSER_DIALOG (object));
 
   switch (prop_id)
     {
@@ -446,7 +442,9 @@ gtk_file_chooser_dialog_get_property (GObject         *object,
                                      GValue          *value,
                                      GParamSpec      *pspec)
 {
-  GtkFileChooserDialogPrivate *priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (object);
+  GtkFileChooserDialogPrivate *priv;
+  
+  priv = gtk_file_chooser_dialog_get_instance_private (GTK_FILE_CHOOSER_DIALOG (object));
 
   g_object_get_property (G_OBJECT (priv->widget), pspec->name, value);
 }
@@ -479,7 +477,7 @@ static void
 gtk_file_chooser_dialog_map (GtkWidget *widget)
 {
   GtkFileChooserDialog *dialog = GTK_FILE_CHOOSER_DIALOG (widget);
-  GtkFileChooserDialogPrivate *priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
+  GtkFileChooserDialogPrivate *priv = dialog->priv;
 
   ensure_default_response (dialog);
 
@@ -528,7 +526,7 @@ response_cb (GtkDialog *dialog,
 {
   GtkFileChooserDialogPrivate *priv;
 
-  priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
+  priv = gtk_file_chooser_dialog_get_instance_private (GTK_FILE_CHOOSER_DIALOG (dialog));
 
   /* Act only on response IDs we recognize */
   if (is_stock_accept_response_id (response_id)
index bce30977ba68202d6c8156de489f1bb6f04e10ea..92618fa57227fc9d388427b48017cd9501ce7a31 100644 (file)
@@ -50,8 +50,6 @@ struct _GtkFileChooserWidgetPrivate
   GtkWidget *impl;
 };
 
-#define GTK_FILE_CHOOSER_WIDGET_GET_PRIVATE(o)  (GTK_FILE_CHOOSER_WIDGET (o)->priv)
-
 static GObject* gtk_file_chooser_widget_constructor  (GType                  type,
                                                      guint                  n_construct_properties,
                                                      GObjectConstructParam *construct_params);
@@ -65,6 +63,7 @@ static void     gtk_file_chooser_widget_get_property (GObject               *obj
                                                      GParamSpec            *pspec);
 
 G_DEFINE_TYPE_WITH_CODE (GtkFileChooserWidget, gtk_file_chooser_widget, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkFileChooserWidget)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
                                                _gtk_file_chooser_delegate_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER_EMBED,
@@ -80,18 +79,14 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
   gobject_class->get_property = gtk_file_chooser_widget_get_property;
 
   _gtk_file_chooser_install_properties (gobject_class);
-
-  g_type_class_add_private (class, sizeof (GtkFileChooserWidgetPrivate));
 }
 
 static void
-gtk_file_chooser_widget_init (GtkFileChooserWidget *chooser_widget)
+gtk_file_chooser_widget_init (GtkFileChooserWidget *self)
 {
-  GtkFileChooserWidgetPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (chooser_widget,
-                                                                  GTK_TYPE_FILE_CHOOSER_WIDGET,
-                                                                  GtkFileChooserWidgetPrivate);
-  chooser_widget->priv = priv;
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (chooser_widget),
+  self->priv = gtk_file_chooser_widget_get_instance_private (self);
+
+  gtk_orientable_set_orientation (GTK_ORIENTABLE (self),
                                   GTK_ORIENTATION_VERTICAL);
 }
 
@@ -106,7 +101,7 @@ gtk_file_chooser_widget_constructor (GType                  type,
   object = G_OBJECT_CLASS (gtk_file_chooser_widget_parent_class)->constructor (type,
                                                                               n_construct_properties,
                                                                               construct_params);
-  priv = GTK_FILE_CHOOSER_WIDGET_GET_PRIVATE (object);
+  priv = gtk_file_chooser_widget_get_instance_private (GTK_FILE_CHOOSER_WIDGET (object));
 
   priv->impl = _gtk_file_chooser_default_new ();
   
@@ -128,7 +123,9 @@ gtk_file_chooser_widget_set_property (GObject         *object,
                                      const GValue    *value,
                                      GParamSpec      *pspec)
 {
-  GtkFileChooserWidgetPrivate *priv = GTK_FILE_CHOOSER_WIDGET_GET_PRIVATE (object);
+  GtkFileChooserWidgetPrivate *priv;
+  
+  priv = gtk_file_chooser_widget_get_instance_private (GTK_FILE_CHOOSER_WIDGET (object));
 
   switch (prop_id)
     {
@@ -144,7 +141,9 @@ gtk_file_chooser_widget_get_property (GObject         *object,
                                      GValue          *value,
                                      GParamSpec      *pspec)
 {
-  GtkFileChooserWidgetPrivate *priv = GTK_FILE_CHOOSER_WIDGET_GET_PRIVATE (object);
+  GtkFileChooserWidgetPrivate *priv;
+  
+  priv = gtk_file_chooser_widget_get_instance_private (GTK_FILE_CHOOSER_WIDGET (object));
   
   g_object_get_property (G_OBJECT (priv->impl), pspec->name, value);
 }
index f1e041d2c3ea7c631f953adb7c9c3a1acb37d091..65cca3f75a1277669012ab236390143913b5995c 100644 (file)
@@ -93,7 +93,7 @@ struct AsyncFuncData
   gpointer data;
 };
 
-G_DEFINE_TYPE (GtkFileSystem, _gtk_file_system, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkFileSystem, _gtk_file_system, G_TYPE_OBJECT)
 
 
 /* GtkFileSystem methods */
@@ -151,8 +151,6 @@ _gtk_file_system_class_init (GtkFileSystemClass *class)
                  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (object_class, sizeof (GtkFileSystemPrivate));
 }
 
 static gboolean
@@ -336,10 +334,7 @@ _gtk_file_system_init (GtkFileSystem *file_system)
 
   DEBUG ("init");
 
-  file_system->priv = G_TYPE_INSTANCE_GET_PRIVATE (file_system,
-                                                   GTK_TYPE_FILE_SYSTEM,
-                                                   GtkFileSystemPrivate);
-  priv = file_system->priv;
+  file_system->priv = priv = _gtk_file_system_get_instance_private (file_system);
 
   /* Volumes */
   priv->volume_monitor = g_volume_monitor_get ();
index 14c35afc84e18048d95cba46ae9b00afb94cf23c..ec3467ffe3ef86bf6da5f5e125f8cc534e55205e 100644 (file)
@@ -120,7 +120,7 @@ static void gtk_fixed_get_child_property (GtkContainer *container,
                                           GValue       *value,
                                           GParamSpec   *pspec);
 
-G_DEFINE_TYPE (GtkFixed, gtk_fixed, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkFixed, gtk_fixed, GTK_TYPE_CONTAINER)
 
 static void
 gtk_fixed_class_init (GtkFixedClass *class)
@@ -159,8 +159,6 @@ gtk_fixed_class_init (GtkFixedClass *class)
                                                                 P_("Y position of child widget"),
                                                                 G_MININT, G_MAXINT, 0,
                                                                 GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkFixedPrivate));
 }
 
 static GType
@@ -172,7 +170,7 @@ gtk_fixed_child_type (GtkContainer *container)
 static void
 gtk_fixed_init (GtkFixed *fixed)
 {
-  fixed->priv = G_TYPE_INSTANCE_GET_PRIVATE (fixed, GTK_TYPE_FIXED, GtkFixedPrivate);
+  fixed->priv = gtk_fixed_get_instance_private (fixed);
 
   gtk_widget_set_has_window (GTK_WIDGET (fixed), FALSE);
 
index 3576364e260e6f49a9d8df2396949c186a81d157..529a13dcc3ee5d5cc406781445fc1eba2d43d281 100644 (file)
@@ -398,6 +398,7 @@ gtk_font_button_font_chooser_iface_init (GtkFontChooserIface *iface)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GtkFontButton, gtk_font_button, GTK_TYPE_BUTTON,
+                         G_ADD_PRIVATE (GtkFontButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_FONT_CHOOSER,
                                                 gtk_font_button_font_chooser_iface_init))
 
@@ -547,16 +548,12 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
   gtk_widget_class_bind_child (widget_class, GtkFontButtonPrivate, font_label);
   gtk_widget_class_bind_child (widget_class, GtkFontButtonPrivate, size_label);
   gtk_widget_class_bind_child (widget_class, GtkFontButtonPrivate, font_size_box);
-  
-  g_type_class_add_private (gobject_class, sizeof (GtkFontButtonPrivate));
 }
 
 static void
 gtk_font_button_init (GtkFontButton *font_button)
 {
-  font_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (font_button,
-                                                   GTK_TYPE_FONT_BUTTON,
-                                                   GtkFontButtonPrivate);
+  font_button->priv = gtk_font_button_get_instance_private (font_button);
 
   /* Initialize fields */
   font_button->priv->use_font = FALSE;
index d1209ded9f96e4edff4210dbec2c80e63ab5299a..80750a307c2b7aeba347e9ad132a6f90922f5c34 100644 (file)
@@ -68,6 +68,7 @@ static GObject *gtk_font_chooser_dialog_buildable_get_internal_child (GtkBuildab
                                                                       const gchar  *childname);
 
 G_DEFINE_TYPE_WITH_CODE (GtkFontChooserDialog, gtk_font_chooser_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkFontChooserDialog)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_FONT_CHOOSER,
                                                 _gtk_font_chooser_delegate_iface_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
@@ -139,8 +140,6 @@ gtk_font_chooser_dialog_class_init (GtkFontChooserDialogClass *klass)
   gtk_widget_class_bind_child (widget_class, GtkFontChooserDialogPrivate, select_button);
   gtk_widget_class_bind_child (widget_class, GtkFontChooserDialogPrivate, cancel_button);
   gtk_widget_class_bind_callback (widget_class, font_activated_cb);
-
-  g_type_class_add_private (klass, sizeof (GtkFontChooserDialogPrivate));
 }
 
 static void
@@ -148,9 +147,7 @@ gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag)
 {
   GtkFontChooserDialogPrivate *priv;
 
-  fontchooserdiag->priv = G_TYPE_INSTANCE_GET_PRIVATE (fontchooserdiag,
-                                                       GTK_TYPE_FONT_CHOOSER_DIALOG,
-                                                       GtkFontChooserDialogPrivate);
+  fontchooserdiag->priv = gtk_font_chooser_dialog_get_instance_private (fontchooserdiag);
   priv = fontchooserdiag->priv;
 
   gtk_widget_init_template (GTK_WIDGET (fontchooserdiag));
index 28fcd44e6ffa97e70dcebf46eba0358eb271f313..a5d66d24e2f441808515e6c93da3a6a8fe5ed885 100644 (file)
@@ -167,6 +167,7 @@ static void     gtk_font_chooser_widget_cell_data_func         (GtkTreeViewColum
 static void gtk_font_chooser_widget_iface_init (GtkFontChooserIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkFontChooserWidget, gtk_font_chooser_widget, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkFontChooserWidget)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_FONT_CHOOSER,
                                                 gtk_font_chooser_widget_iface_init))
 
@@ -494,8 +495,6 @@ gtk_font_chooser_widget_class_init (GtkFontChooserWidgetClass *klass)
   gtk_widget_class_bind_callback (widget_class, row_inserted_cb);
   gtk_widget_class_bind_callback (widget_class, row_deleted_cb);
   gtk_widget_class_bind_callback (widget_class, size_change_cb);
-
-  g_type_class_add_private (klass, sizeof (GtkFontChooserWidgetPrivate));
 }
 
 static void
@@ -503,10 +502,7 @@ gtk_font_chooser_widget_init (GtkFontChooserWidget *fontchooser)
 {
   GtkFontChooserWidgetPrivate *priv;
 
-  fontchooser->priv = G_TYPE_INSTANCE_GET_PRIVATE (fontchooser,
-                                                   GTK_TYPE_FONT_CHOOSER_WIDGET,
-                                                   GtkFontChooserWidgetPrivate);
-
+  fontchooser->priv = gtk_font_chooser_widget_get_instance_private (fontchooser);
   priv = fontchooser->priv;
 
   gtk_widget_init_template (GTK_WIDGET (fontchooser));
index 2e01d951e3039e5ced80ff249bfe7091e8dfb870..e5c1aad511c3f4f165e59a1053b17148bf3e4591 100644 (file)
@@ -147,6 +147,7 @@ static void gtk_frame_get_preferred_width_for_height(GtkWidget           *layout
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkFrame, gtk_frame, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkFrame)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_frame_buildable_init))
 
@@ -220,8 +221,6 @@ gtk_frame_class_init (GtkFrameClass *class)
 
   class->compute_child_allocation = gtk_frame_real_compute_child_allocation;
 
-  g_type_class_add_private (class, sizeof (GtkFramePrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_FRAME_ACCESSIBLE);
 }
 
@@ -251,9 +250,7 @@ gtk_frame_init (GtkFrame *frame)
   GtkFramePrivate *priv;
   GtkStyleContext *context;
 
-  frame->priv = G_TYPE_INSTANCE_GET_PRIVATE (frame,
-                                             GTK_TYPE_FRAME,
-                                             GtkFramePrivate);
+  frame->priv = gtk_frame_get_instance_private (frame); 
   priv = frame->priv;
 
   priv->label_widget = NULL;
index a1183e892d69504b4916815dc71590976651a003..7e7f7a7aef7cbb240294ea79517b1a28a0b7679b 100644 (file)
@@ -164,6 +164,7 @@ enum
 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkGrid, gtk_grid, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkGrid)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 
@@ -377,7 +378,7 @@ gtk_grid_init (GtkGrid *grid)
 {
   GtkGridPrivate *priv;
 
-  grid->priv = G_TYPE_INSTANCE_GET_PRIVATE (grid, GTK_TYPE_GRID, GtkGridPrivate);
+  grid->priv = gtk_grid_get_instance_private (grid);
   priv = grid->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (grid), FALSE);
@@ -1771,8 +1772,6 @@ gtk_grid_class_init (GtkGridClass *class)
                       P_("The number of rows that a child spans"),
                       1, G_MAXINT, 1,
                       GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkGridPrivate));
 }
 
 /**
index 2ca658ecdaba88836bfdc9c65438359379bca577..a803ddab1f320455468865b67fe6fc5086f29ca4 100644 (file)
@@ -89,6 +89,7 @@ enum {
 static void gtk_header_bar_buildable_init (GtkBuildableIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkHeaderBar, gtk_header_bar, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkHeaderBar)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_header_bar_buildable_init));
 
@@ -136,7 +137,7 @@ get_css_padding_and_border (GtkWidget *widget,
 static void
 init_sizing_box (GtkHeaderBar *bar)
 {
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GtkWidget *w;
 
   /* We use this box to always request size for the two labels (title
@@ -204,7 +205,7 @@ _gtk_header_bar_create_title_box (const char *title,
 static void
 construct_label_box (GtkHeaderBar *bar)
 {
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
 
   g_assert (priv->label_box == NULL);
 
@@ -221,8 +222,7 @@ gtk_header_bar_init (GtkHeaderBar *bar)
   GtkStyleContext *context;
   GtkHeaderBarPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (bar, GTK_TYPE_HEADER_BAR, GtkHeaderBarPrivate);
-  bar->priv = priv;
+  priv = gtk_header_bar_get_instance_private (bar);
 
   gtk_widget_set_has_window (GTK_WIDGET (bar), FALSE);
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (bar), FALSE);
@@ -246,12 +246,13 @@ gtk_header_bar_init (GtkHeaderBar *bar)
 static gint
 count_visible_children (GtkHeaderBar *bar)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *l;
   Child *child;
   gint n;
 
   n = 0;
-  for (l = bar->priv->children; l; l = l->next)
+  for (l = priv->children; l; l = l->next)
     {
       child = l->data;
       if (gtk_widget_get_visible (child->widget))
@@ -298,7 +299,7 @@ gtk_header_bar_get_size (GtkWidget      *widget,
                          gint           *natural_size)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (widget);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *l;
   gint nvis_children;
   gint minimum, natural;
@@ -360,7 +361,7 @@ gtk_header_bar_compute_size_for_orientation (GtkWidget *widget,
                                              gint      *natural_size)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (widget);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *children;
   gint required_size = 0;
   gint required_natural = 0;
@@ -432,7 +433,7 @@ gtk_header_bar_compute_size_for_opposing_orientation (GtkWidget *widget,
                                                       gint      *natural_size)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (widget);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   Child *child;
   GList *children;
   gint nvis_children;
@@ -576,7 +577,7 @@ gtk_header_bar_size_allocate (GtkWidget     *widget,
                               GtkAllocation *allocation)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (widget);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GtkRequestedSize *sizes;
   gint width, height;
   gint nvis_children;
@@ -743,13 +744,11 @@ void
 gtk_header_bar_set_title (GtkHeaderBar *bar,
                           const gchar  *title)
 {
-  GtkHeaderBarPrivate *priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   gchar *new_title;
 
   g_return_if_fail (GTK_IS_HEADER_BAR (bar));
 
-  priv = bar->priv;
-
   new_title = g_strdup (title);
   g_free (priv->title);
   priv->title = new_title;
@@ -778,9 +777,11 @@ gtk_header_bar_set_title (GtkHeaderBar *bar,
 const gchar *
 gtk_header_bar_get_title (GtkHeaderBar *bar)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
+
   g_return_val_if_fail (GTK_IS_HEADER_BAR (bar), NULL);
 
-  return bar->priv->title;
+  return priv->title;
 }
 
 /**
@@ -801,13 +802,11 @@ void
 gtk_header_bar_set_subtitle (GtkHeaderBar *bar,
                              const gchar  *subtitle)
 {
-  GtkHeaderBarPrivate *priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   gchar *new_subtitle;
 
   g_return_if_fail (GTK_IS_HEADER_BAR (bar));
 
-  priv = bar->priv;
-
   new_subtitle = g_strdup (subtitle);
   g_free (priv->subtitle);
   priv->subtitle = new_subtitle;
@@ -837,9 +836,11 @@ gtk_header_bar_set_subtitle (GtkHeaderBar *bar,
 const gchar *
 gtk_header_bar_get_subtitle (GtkHeaderBar *bar)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
+
   g_return_val_if_fail (GTK_IS_HEADER_BAR (bar), NULL);
 
-  return bar->priv->subtitle;
+  return priv->subtitle;
 }
 
 /**
@@ -859,14 +860,12 @@ void
 gtk_header_bar_set_custom_title (GtkHeaderBar *bar,
                                  GtkWidget    *title_widget)
 {
-  GtkHeaderBarPrivate *priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
 
   g_return_if_fail (GTK_IS_HEADER_BAR (bar));
   if (title_widget)
     g_return_if_fail (GTK_IS_WIDGET (title_widget));
 
-  priv = bar->priv;
-
   /* No need to do anything if the custom widget stays the same */
   if (priv->custom_title == title_widget)
     return;
@@ -924,18 +923,20 @@ gtk_header_bar_set_custom_title (GtkHeaderBar *bar,
 GtkWidget *
 gtk_header_bar_get_custom_title (GtkHeaderBar *bar)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
+
   g_return_val_if_fail (GTK_IS_HEADER_BAR (bar), NULL);
 
-  return bar->priv->custom_title;
+  return priv->custom_title;
 }
 
 static void
 gtk_header_bar_finalize (GObject *object)
 {
-  GtkHeaderBar *bar = GTK_HEADER_BAR (object);
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (GTK_HEADER_BAR (object));
 
-  g_free (bar->priv->title);
-  g_free (bar->priv->subtitle);
+  g_free (priv->title);
+  g_free (priv->subtitle);
 
   G_OBJECT_CLASS (gtk_header_bar_parent_class)->finalize (object);
 }
@@ -947,7 +948,7 @@ gtk_header_bar_get_property (GObject    *object,
                              GParamSpec *pspec)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (object);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
 
   switch (prop_id)
     {
@@ -988,7 +989,7 @@ gtk_header_bar_set_property (GObject      *object,
                              GParamSpec   *pspec)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (object);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
 
   switch (prop_id)
     {
@@ -1030,6 +1031,7 @@ gtk_header_bar_pack (GtkHeaderBar *bar,
                      GtkWidget    *widget,
                      GtkPackType   pack_type)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   Child *child;
 
   g_return_if_fail (gtk_widget_get_parent (widget) == NULL);
@@ -1038,7 +1040,7 @@ gtk_header_bar_pack (GtkHeaderBar *bar,
   child->widget = widget;
   child->pack_type = pack_type;
 
-  bar->priv->children = g_list_append (bar->priv->children, child);
+  priv->children = g_list_append (priv->children, child);
 
   gtk_widget_freeze_child_notify (widget);
   gtk_widget_set_parent (widget, GTK_WIDGET (bar));
@@ -1058,10 +1060,11 @@ static GList *
 find_child_link (GtkHeaderBar *bar,
                  GtkWidget    *widget)
 {
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *l;
   Child *child;
 
-  for (l = bar->priv->children; l; l = l->next)
+  for (l = priv->children; l; l = l->next)
     {
       child = l->data;
       if (child->widget == widget)
@@ -1076,6 +1079,7 @@ gtk_header_bar_remove (GtkContainer *container,
                        GtkWidget    *widget)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (container);
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *l;
   Child *child;
 
@@ -1084,7 +1088,7 @@ gtk_header_bar_remove (GtkContainer *container,
     {
       child = l->data;
       gtk_widget_unparent (child->widget);
-      bar->priv->children = g_list_delete_link (bar->priv->children, l);
+      priv->children = g_list_delete_link (priv->children, l);
       g_free (child);
       gtk_widget_queue_resize (GTK_WIDGET (container));
     }
@@ -1097,7 +1101,7 @@ gtk_header_bar_forall (GtkContainer *container,
                        gpointer      callback_data)
 {
   GtkHeaderBar *bar = GTK_HEADER_BAR (container);
-  GtkHeaderBarPrivate *priv = bar->priv;
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   Child *child;
   GList *children;
 
@@ -1139,10 +1143,12 @@ gtk_header_bar_get_child_property (GtkContainer *container,
                                    GValue       *value,
                                    GParamSpec   *pspec)
 {
+  GtkHeaderBar *bar = GTK_HEADER_BAR (container);
+  GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GList *l;
   Child *child;
 
-  l = find_child_link (GTK_HEADER_BAR (container), widget);
+  l = find_child_link (bar, widget);
   if (l == NULL)
     {
       g_param_value_set_default (pspec, value);
@@ -1158,7 +1164,7 @@ gtk_header_bar_get_child_property (GtkContainer *container,
       break;
 
     case CHILD_PROP_POSITION:
-      g_value_set_int (value, g_list_position (GTK_HEADER_BAR (container)->priv->children, l));
+      g_value_set_int (value, g_list_position (priv->children, l));
       break;
 
     default:
@@ -1356,8 +1362,6 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
                                                      DEFAULT_VPADDING,
                                                      GTK_PARAM_READWRITE));
 
-  g_type_class_add_private (object_class, sizeof (GtkHeaderBarPrivate));
-
   gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILLER);
 }
 
index bee9d80f99d55ed3c3be4d8b5a8c41c9e952d1e1..0437ba0251c230d58bb2062ab3249a57ff4e8d6b 100644 (file)
@@ -42,9 +42,6 @@ typedef struct _GtkHeaderBarClass         GtkHeaderBarClass;
 struct _GtkHeaderBar
 {
   GtkContainer container;
-
-  /*< private >*/
-  GtkHeaderBarPrivate *priv;
 };
 
 struct _GtkHeaderBarClass
index ab65682b22fc3f484ae2a5120bfe3332d8c61d46..c9528304e6bb18705d1904e99d984cd7d6bf1dc8 100644 (file)
@@ -212,6 +212,7 @@ static GtkIconSize icon_size_register_intern (const gchar *name,
    any_direction, any_state, any_size }
 
 G_DEFINE_TYPE_WITH_CODE (GtkIconFactory, gtk_icon_factory, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkIconFactory)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_icon_factory_buildable_init))
 
@@ -220,9 +221,7 @@ gtk_icon_factory_init (GtkIconFactory *factory)
 {
   GtkIconFactoryPrivate *priv;
 
-  factory->priv = G_TYPE_INSTANCE_GET_PRIVATE (factory,
-                                               GTK_TYPE_ICON_FACTORY,
-                                               GtkIconFactoryPrivate);
+  factory->priv = gtk_icon_factory_get_instance_private (factory);
   priv = factory->priv;
 
   priv->icons = g_hash_table_new (g_str_hash, g_str_equal);
@@ -235,8 +234,6 @@ gtk_icon_factory_class_init (GtkIconFactoryClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
   object_class->finalize = gtk_icon_factory_finalize;
-
-  g_type_class_add_private (klass, sizeof (GtkIconFactoryPrivate));
 }
 
 static void
index 0e38073592c63e31854bb725b384817bd2b897a4..a516d2754231c94b2782b10297e53e7c934d90ca 100644 (file)
@@ -22,8 +22,6 @@
 #include <math.h>
 #include "gtkiconhelperprivate.h"
 
-G_DEFINE_TYPE (GtkIconHelper, _gtk_icon_helper, G_TYPE_OBJECT)
-
 struct _GtkIconHelperPrivate {
   GtkImageType storage_type;
 
@@ -54,6 +52,8 @@ struct _GtkIconHelperPrivate {
   gint last_surface_scale;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GtkIconHelper, _gtk_icon_helper, G_TYPE_OBJECT)
+
 void
 _gtk_icon_helper_clear (GtkIconHelper *self)
 {
@@ -130,14 +130,12 @@ _gtk_icon_helper_class_init (GtkIconHelperClass *klass)
 
   oclass = G_OBJECT_CLASS (klass);
   oclass->finalize = gtk_icon_helper_finalize;
-
-  g_type_class_add_private (klass, sizeof (GtkIconHelperPrivate));
 }
 
 static void
 _gtk_icon_helper_init (GtkIconHelper *self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_ICON_HELPER, GtkIconHelperPrivate);
+  self->priv = _gtk_icon_helper_get_instance_private (self);
 
   self->priv->storage_type = GTK_IMAGE_EMPTY;
   self->priv->icon_size = GTK_ICON_SIZE_INVALID;
index e88d519a3a861d062407ef617dcb19f696ea0b46..9cd192a6d44ba9b470e014161d588e6c1396c9f8 100644 (file)
@@ -433,7 +433,7 @@ icon_info_key_equal (gconstpointer  _a,
   return a->icon_names[i] == NULL && b->icon_names[i] == NULL;
 }
 
-G_DEFINE_TYPE (GtkIconTheme, gtk_icon_theme, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkIconTheme, gtk_icon_theme, G_TYPE_OBJECT)
 
 /**
  * gtk_icon_theme_new:
@@ -539,8 +539,6 @@ gtk_icon_theme_class_init (GtkIconThemeClass *klass)
                                 NULL, NULL,
                                 g_cclosure_marshal_VOID__VOID,
                                 G_TYPE_NONE, 0);
-
-  g_type_class_add_private (klass, sizeof (GtkIconThemePrivate));
 }
 
 
@@ -741,9 +739,7 @@ gtk_icon_theme_init (GtkIconTheme *icon_theme)
   const gchar * const *xdg_data_dirs;
   int i, j;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (icon_theme,
-                                      GTK_TYPE_ICON_THEME,
-                                      GtkIconThemePrivate);
+  priv = gtk_icon_theme_get_instance_private (icon_theme);
   icon_theme->priv = priv;
 
   priv->info_cache = g_hash_table_new_full (icon_info_key_hash, icon_info_key_equal, NULL,
index 0c6dc038ce354701c740569e7f2b9e35d77f2ef9..049ccce4caa23d0aeaea17c01301c05183b983f9 100644 (file)
@@ -321,6 +321,7 @@ static void     gtk_icon_view_buildable_custom_tag_end   (GtkBuildable  *buildab
 static guint icon_view_signals[LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkIconView, gtk_icon_view, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkIconView)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                gtk_icon_view_cell_layout_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
@@ -337,8 +338,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
   
   binding_set = gtk_binding_set_by_class (klass);
 
-  g_type_class_add_private (klass, sizeof (GtkIconViewPrivate));
-
   gobject_class = (GObjectClass *) klass;
   widget_class = (GtkWidgetClass *) klass;
   container_class = (GtkContainerClass *) klass;
@@ -958,9 +957,7 @@ gtk_icon_view_cell_layout_init (GtkCellLayoutIface *iface)
 static void
 gtk_icon_view_init (GtkIconView *icon_view)
 {
-  icon_view->priv = G_TYPE_INSTANCE_GET_PRIVATE (icon_view,
-                                                 GTK_TYPE_ICON_VIEW,
-                                                 GtkIconViewPrivate);
+  icon_view->priv = gtk_icon_view_get_instance_private (icon_view);
 
   icon_view->priv->width = 0;
   icon_view->priv->height = 0;
index 5817572906dd0cd4a9a9ea5ff7d6cf7e52062d5e..0fd4ce0d6c96d0d4edd9746d5e9ae2262f197d34 100644 (file)
@@ -200,7 +200,7 @@ enum
   PROP_USE_FALLBACK
 };
 
-G_DEFINE_TYPE (GtkImage, gtk_image, GTK_TYPE_MISC)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkImage, gtk_image, GTK_TYPE_MISC)
 
 static void
 gtk_image_class_init (GtkImageClass *class)
@@ -387,8 +387,6 @@ gtk_image_class_init (GtkImageClass *class)
                                                          FALSE,
                                                          GTK_PARAM_READWRITE));
 
-  g_type_class_add_private (class, sizeof (GtkImagePrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_IMAGE_ACCESSIBLE);
 }
 
@@ -397,9 +395,7 @@ gtk_image_init (GtkImage *image)
 {
   GtkImagePrivate *priv;
 
-  image->priv = G_TYPE_INSTANCE_GET_PRIVATE (image,
-                                             GTK_TYPE_IMAGE,
-                                             GtkImagePrivate);
+  image->priv = gtk_image_get_instance_private (image);
   priv = image->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (image), FALSE);
index 33defb36b5a86f01a7d6a1d40b6e6f47cdda4ea0..d377618557b8e74acd467645001be67e13458742 100644 (file)
@@ -121,6 +121,7 @@ static void gtk_image_menu_item_sync_action_properties     (GtkActivatable
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkImageMenuItem, gtk_image_menu_item, GTK_TYPE_MENU_ITEM,
+                         G_ADD_PRIVATE (GtkImageMenuItem)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                 gtk_image_menu_item_activatable_interface_init))
 
@@ -220,7 +221,6 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass)
                                                         GTK_TYPE_ACCEL_GROUP,
                                                         GTK_PARAM_WRITABLE | G_PARAM_DEPRECATED));
 
-    g_type_class_add_private (klass, sizeof (GtkImageMenuItemPrivate));
 }
 
 static void
@@ -228,9 +228,7 @@ gtk_image_menu_item_init (GtkImageMenuItem *image_menu_item)
 {
   GtkImageMenuItemPrivate *priv;
 
-  image_menu_item->priv = G_TYPE_INSTANCE_GET_PRIVATE (image_menu_item,
-                                                       GTK_TYPE_IMAGE_MENU_ITEM,
-                                                       GtkImageMenuItemPrivate);
+  image_menu_item->priv = gtk_image_menu_item_get_instance_private (image_menu_item);
   priv = image_menu_item->priv;
 
   priv->image = NULL;
index 68d77e93bfc31f1bfe3cf3aaa57ba4d596c80a0b..37790b58cff05a2e8ef33f2769cc3e50efdf1184 100644 (file)
@@ -145,7 +145,7 @@ static void     gtk_im_context_set_property            (GObject        *obj,
                                                         GParamSpec     *pspec);
 
 
-G_DEFINE_ABSTRACT_TYPE (GtkIMContext, gtk_im_context, G_TYPE_OBJECT)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GtkIMContext, gtk_im_context, G_TYPE_OBJECT)
 
 /**
  * GtkIMContextClass:
@@ -341,7 +341,6 @@ gtk_im_context_class_init (GtkIMContextClass *klass)
                          GTK_INPUT_HINT_NONE,
                          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
-  g_type_class_add_private (klass, sizeof (GtkIMContextPrivate));
   g_object_class_install_properties (object_class, LAST_PROPERTY, properties);
 }
 
@@ -759,7 +758,7 @@ gtk_im_context_get_property (GObject    *obj,
                              GValue     *value,
                              GParamSpec *pspec)
 {
-  GtkIMContextPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (obj, GTK_TYPE_IM_CONTEXT, GtkIMContextPrivate);
+  GtkIMContextPrivate *priv = gtk_im_context_get_instance_private (GTK_IM_CONTEXT (obj));
 
   switch (property_id)
     {
@@ -781,7 +780,7 @@ gtk_im_context_set_property (GObject      *obj,
                              const GValue *value,
                              GParamSpec   *pspec)
 {
-  GtkIMContextPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (obj, GTK_TYPE_IM_CONTEXT, GtkIMContextPrivate);
+  GtkIMContextPrivate *priv = gtk_im_context_get_instance_private (GTK_IM_CONTEXT (obj));
 
   switch (property_id)
     {
index 87debf226b9baaaeb4f3c3729aa6b25b79933e0b..0c293ffd538a289fea3e91be97bc76b4e233cb84 100644 (file)
@@ -112,7 +112,7 @@ static void     gtk_im_context_simple_get_preedit_string (GtkIMContext
                                                          PangoAttrList           **attrs,
                                                          gint                     *cursor_pos);
 
-G_DEFINE_TYPE (GtkIMContextSimple, gtk_im_context_simple, GTK_TYPE_IM_CONTEXT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkIMContextSimple, gtk_im_context_simple, GTK_TYPE_IM_CONTEXT)
 
 static void
 gtk_im_context_simple_class_init (GtkIMContextSimpleClass *class)
@@ -124,16 +124,12 @@ gtk_im_context_simple_class_init (GtkIMContextSimpleClass *class)
   im_context_class->reset = gtk_im_context_simple_reset;
   im_context_class->get_preedit_string = gtk_im_context_simple_get_preedit_string;
   gobject_class->finalize = gtk_im_context_simple_finalize;
-
-  g_type_class_add_private (class, sizeof (GtkIMContextSimplePrivate));
 }
 
 static void
 gtk_im_context_simple_init (GtkIMContextSimple *im_context_simple)
 {
-  im_context_simple->priv = G_TYPE_INSTANCE_GET_PRIVATE (im_context_simple,
-                                                         GTK_TYPE_IM_CONTEXT_SIMPLE,
-                                                         GtkIMContextSimplePrivate);
+  im_context_simple->priv = gtk_im_context_simple_get_instance_private (im_context_simple); 
 }
 
 static void
index 4fc9cf15c159d25d898cf9626119cc77354fc041..9d2a1ad0a2dae0c4247ae079581c72105a8606af 100644 (file)
@@ -106,7 +106,7 @@ static void propagate_purpose (GtkIMMulticontext *context);
 
 static const gchar *global_context_id = NULL;
 
-G_DEFINE_TYPE (GtkIMMulticontext, gtk_im_multicontext, GTK_TYPE_IM_CONTEXT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkIMMulticontext, gtk_im_multicontext, GTK_TYPE_IM_CONTEXT)
 
 static void
 gtk_im_multicontext_class_init (GtkIMMulticontextClass *class)
@@ -128,8 +128,6 @@ gtk_im_multicontext_class_init (GtkIMMulticontextClass *class)
   im_context_class->get_surrounding = gtk_im_multicontext_get_surrounding;
 
   gobject_class->finalize = gtk_im_multicontext_finalize;
-
-  g_type_class_add_private (gobject_class, sizeof (GtkIMMulticontextPrivate));   
 }
 
 static void
@@ -137,7 +135,7 @@ gtk_im_multicontext_init (GtkIMMulticontext *multicontext)
 {
   GtkIMMulticontextPrivate *priv;
   
-  multicontext->priv = G_TYPE_INSTANCE_GET_PRIVATE (multicontext, GTK_TYPE_IM_MULTICONTEXT, GtkIMMulticontextPrivate);
+  multicontext->priv = gtk_im_multicontext_get_instance_private (multicontext);
   priv = multicontext->priv;
 
   priv->slave = NULL;
index 15d71ce5619f8e2171e23779a79ed4649fb1970c..837caa542e69eaeec80607e70a0f2dea6cbaee53 100644 (file)
@@ -181,6 +181,7 @@ static void      gtk_info_bar_buildable_custom_finished    (GtkBuildable  *build
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkInfoBar, gtk_info_bar, GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkInfoBar)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_info_bar_buildable_interface_init))
 
@@ -532,8 +533,6 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkinfobar.ui");
   gtk_widget_class_bind_child_internal (widget_class, GtkInfoBarPrivate, content_area);
   gtk_widget_class_bind_child_internal (widget_class, GtkInfoBarPrivate, action_area);
-
-  g_type_class_add_private (object_class, sizeof (GtkInfoBarPrivate));
 }
 
 static void
@@ -541,9 +540,7 @@ gtk_info_bar_init (GtkInfoBar *info_bar)
 {
   GtkWidget *widget = GTK_WIDGET (info_bar);
 
-  info_bar->priv = G_TYPE_INSTANCE_GET_PRIVATE (info_bar,
-                                                GTK_TYPE_INFO_BAR,
-                                                GtkInfoBarPrivate);
+  info_bar->priv = gtk_info_bar_get_instance_private (info_bar);
 
   gtk_widget_set_redraw_on_allocate (widget, TRUE);
 
index 27ca2502cbc66b18a5342a035c9d71d80591675d..903ea021302218a72a0be8734c2806f4e0e0eb86 100644 (file)
@@ -74,7 +74,7 @@ static GObject *gtk_invisible_constructor (GType                  type,
                                           guint                  n_construct_properties,
                                           GObjectConstructParam *construct_params);
 
-G_DEFINE_TYPE (GtkInvisible, gtk_invisible, GTK_TYPE_WIDGET)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkInvisible, gtk_invisible, GTK_TYPE_WIDGET)
 
 static void
 gtk_invisible_class_init (GtkInvisibleClass *class)
@@ -102,8 +102,6 @@ gtk_invisible_class_init (GtkInvisibleClass *class)
                                                        P_("The screen where this window will be displayed"),
                                                        GDK_TYPE_SCREEN,
                                                        GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkInvisiblePrivate));
 }
 
 static void
@@ -111,9 +109,7 @@ gtk_invisible_init (GtkInvisible *invisible)
 {
   GtkInvisiblePrivate *priv;
 
-  invisible->priv = G_TYPE_INSTANCE_GET_PRIVATE (invisible,
-                                                 GTK_TYPE_INVISIBLE,
-                                                 GtkInvisiblePrivate);
+  invisible->priv = gtk_invisible_get_instance_private (invisible);
   priv = invisible->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (invisible), TRUE);
index 752d728d4727da54eb2e8a62b891f6b226d64e55..36fe5c86dc63f020cc57a63f944ac53ab22acc09 100644 (file)
@@ -528,6 +528,7 @@ static void    gtk_label_get_preferred_height_and_baseline_for_width (GtkWidget
 static GtkBuildableIface *buildable_parent_iface = NULL;
 
 G_DEFINE_TYPE_WITH_CODE (GtkLabel, gtk_label, GTK_TYPE_MISC,
+                         G_ADD_PRIVATE (GtkLabel)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_label_buildable_interface_init))
 
@@ -1077,8 +1078,6 @@ gtk_label_class_init (GtkLabelClass *class)
   gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Enter, 0,
                                "activate-current-link", 0);
 
-  g_type_class_add_private (class, sizeof (GtkLabelPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LABEL_ACCESSIBLE);
 }
 
@@ -1222,9 +1221,7 @@ gtk_label_init (GtkLabel *label)
 {
   GtkLabelPrivate *priv;
 
-  label->priv = G_TYPE_INSTANCE_GET_PRIVATE (label,
-                                             GTK_TYPE_LABEL,
-                                             GtkLabelPrivate);
+  label->priv = gtk_label_get_instance_private (label);
   priv = label->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (label), FALSE);
index 73cdb62f2ac50fceb0166ec8a7389c904a01cb83..969865d3d5ffee63d8510a3d0dcd32427e79b8dd 100644 (file)
@@ -161,6 +161,7 @@ static void gtk_layout_set_hadjustment_values (GtkLayout      *layout);
 static void gtk_layout_set_vadjustment_values (GtkLayout      *layout);
 
 G_DEFINE_TYPE_WITH_CODE (GtkLayout, gtk_layout, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkLayout)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
 
 /* Public interface
@@ -696,8 +697,6 @@ gtk_layout_class_init (GtkLayoutClass *class)
   container_class->add = gtk_layout_add;
   container_class->remove = gtk_layout_remove;
   container_class->forall = gtk_layout_forall;
-
-  g_type_class_add_private (class, sizeof (GtkLayoutPrivate));
 }
 
 static void
@@ -831,9 +830,7 @@ gtk_layout_init (GtkLayout *layout)
 {
   GtkLayoutPrivate *priv;
 
-  layout->priv = G_TYPE_INSTANCE_GET_PRIVATE (layout,
-                                              GTK_TYPE_LAYOUT,
-                                              GtkLayoutPrivate);
+  layout->priv = gtk_layout_get_instance_private (layout);
   priv = layout->priv;
 
   priv->children = NULL;
index fff48919e8763c85d112b4b67d9a57ee9cdfdde3..744ee2cd2259841a8ff829ec9d167004657a173f 100644 (file)
 #define STYLE_CLASS_FILL_BLOCK           "fill-block"
 #define STYLE_CLASS_EMPTY_FILL_BLOCK     "empty-fill-block"
 
-static void gtk_level_bar_buildable_init (GtkBuildableIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GtkLevelBar, gtk_level_bar, GTK_TYPE_WIDGET,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
-                                                gtk_level_bar_buildable_init))
-
 enum {
   PROP_VALUE = 1,
   PROP_MIN_VALUE,
@@ -157,6 +150,14 @@ struct _GtkLevelBarPrivate {
 static void gtk_level_bar_set_value_internal (GtkLevelBar *self,
                                               gdouble      value);
 
+static void gtk_level_bar_buildable_init (GtkBuildableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkLevelBar, gtk_level_bar, GTK_TYPE_WIDGET,
+                         G_ADD_PRIVATE (GtkLevelBar)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
+                                                gtk_level_bar_buildable_init))
+
 static GtkLevelBarOffset *
 gtk_level_bar_offset_new (const gchar *name,
                           gdouble      value)
@@ -1024,7 +1025,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
                                1, G_MAXINT, DEFAULT_BLOCK_SIZE,
                                G_PARAM_READWRITE));
 
-  g_type_class_add_private (klass, sizeof (GtkLevelBarPrivate));
   g_object_class_install_properties (oclass, LAST_PROPERTY, properties);
 
   gtk_widget_class_set_accessible_type (wclass, GTK_TYPE_LEVEL_BAR_ACCESSIBLE);
@@ -1035,7 +1035,7 @@ gtk_level_bar_init (GtkLevelBar *self)
 {
   GtkStyleContext *context;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_LEVEL_BAR, GtkLevelBarPrivate);
+  self->priv = gtk_level_bar_get_instance_private (self);
 
   context = gtk_widget_get_style_context (GTK_WIDGET (self));
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_LEVEL_BAR);
index 2e0636646a2faf88c439e8b9132210f8d3e16a27..e3af4bd52aad6d88432319b0b925b0b3e49b5e07 100644 (file)
@@ -136,7 +136,7 @@ static const GdkColor default_visited_link_color = { 0, 0x5555, 0x1a1a, 0x8b8b }
 
 static guint link_signals[LAST_SIGNAL] = { 0, };
 
-G_DEFINE_TYPE (GtkLinkButton, gtk_link_button, GTK_TYPE_BUTTON)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkLinkButton, gtk_link_button, GTK_TYPE_BUTTON)
 
 static void
 gtk_link_button_class_init (GtkLinkButtonClass *klass)
@@ -190,8 +190,6 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
                                                          P_("Whether this link has been visited."),
                                                          FALSE,
                                                          G_PARAM_READWRITE));
-  
-  g_type_class_add_private (gobject_class, sizeof (GtkLinkButtonPrivate));
 
   /**
    * GtkLinkButton::activate-link:
@@ -222,9 +220,7 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
 static void
 gtk_link_button_init (GtkLinkButton *link_button)
 {
-  link_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (link_button,
-                                                   GTK_TYPE_LINK_BUTTON,
-                                                   GtkLinkButtonPrivate);
+  link_button->priv = gtk_link_button_get_instance_private (link_button);
 
   gtk_button_set_relief (GTK_BUTTON (link_button), GTK_RELIEF_NONE);
   
index b64876bdd58d8063fe64ab5367515a6f03926f75..7407e667dd9fabc673c45a12e5c4b1a735e41653 100644 (file)
@@ -307,6 +307,7 @@ static void     gtk_list_store_buildable_custom_tag_end (GtkBuildable *buildable
                                                         gpointer     *data);
 
 G_DEFINE_TYPE_WITH_CODE (GtkListStore, gtk_list_store, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkListStore)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
                                                gtk_list_store_tree_model_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
@@ -327,8 +328,6 @@ gtk_list_store_class_init (GtkListStoreClass *class)
   object_class = (GObjectClass*) class;
 
   object_class->finalize = gtk_list_store_finalize;
-
-  g_type_class_add_private (class, sizeof (GtkListStorePrivate));
 }
 
 static void
@@ -386,9 +385,7 @@ gtk_list_store_init (GtkListStore *list_store)
 {
   GtkListStorePrivate *priv;
 
-  list_store->priv = G_TYPE_INSTANCE_GET_PRIVATE (list_store,
-                                                  GTK_TYPE_LIST_STORE,
-                                                  GtkListStorePrivate);
+  list_store->priv = gtk_list_store_get_instance_private (list_store);
   priv = list_store->priv;
 
   priv->seq = g_sequence_new (NULL);
index b8a162139d90ea89f1b0c215eecf36f2ad39dfc6..475bbe6735911cd2752c47c41b17ea29a63538c9 100644 (file)
@@ -94,7 +94,7 @@ static void on_permission_changed (GPermission *permission,
                                    GParamSpec  *pspec,
                                    gpointer     user_data);
 
-G_DEFINE_TYPE (GtkLockButton, gtk_lock_button, GTK_TYPE_BUTTON);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkLockButton, gtk_lock_button, GTK_TYPE_BUTTON)
 
 static void
 gtk_lock_button_finalize (GObject *object)
@@ -221,9 +221,7 @@ gtk_lock_button_init (GtkLockButton *button)
   GtkLockButtonPrivate *priv;
   gchar *names[3];
 
-  button->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                                     GTK_TYPE_LOCK_BUTTON,
-                                                     GtkLockButtonPrivate);
+  button->priv = priv = gtk_lock_button_get_instance_private (button);
 
   gtk_widget_init_template (GTK_WIDGET (button));
 
@@ -253,8 +251,6 @@ gtk_lock_button_class_init (GtkLockButtonClass *klass)
 
   button_class->clicked = gtk_lock_button_clicked;
 
-  g_type_class_add_private (klass, sizeof (GtkLockButtonPrivate));
-
   g_object_class_install_property (gobject_class, PROP_PERMISSION,
     g_param_spec_object ("permission",
                          P_("Permission"),
index feed5e30e9ef8be5029c2274a9073b53e122f952..ece083dcab0f19c6b8c9eb68ca3a4dcea42a540f 100644 (file)
@@ -310,7 +310,7 @@ static const gchar attach_data_key[] = "gtk-menu-attach-data";
 
 static guint menu_signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkMenu, gtk_menu, GTK_TYPE_MENU_SHELL)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkMenu, gtk_menu, GTK_TYPE_MENU_SHELL)
 
 static void
 menu_queue_resize (GtkMenu *menu)
@@ -871,8 +871,6 @@ gtk_menu_class_init (GtkMenuClass *class)
                                 GTK_TYPE_SCROLL_TYPE,
                                 GTK_SCROLL_PAGE_DOWN);
 
-  g_type_class_add_private (gobject_class, sizeof (GtkMenuPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_ACCESSIBLE);
 }
 
@@ -1071,7 +1069,7 @@ gtk_menu_init (GtkMenu *menu)
   GtkMenuPrivate *priv;
   GtkStyleContext *context;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (menu, GTK_TYPE_MENU, GtkMenuPrivate);
+  priv = gtk_menu_get_instance_private (menu);
 
   menu->priv = priv;
 
index f93afa497ffcafc5269c27b0c180e1c79a54c9a6..24872af2616deda35296344413b4851532a35490 100644 (file)
@@ -102,7 +102,7 @@ static void gtk_menu_bar_move_current      (GtkMenuShell     *menu_shell,
 
 static GtkShadowType get_shadow_type   (GtkMenuBar      *menubar);
 
-G_DEFINE_TYPE (GtkMenuBar, gtk_menu_bar, GTK_TYPE_MENU_SHELL)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkMenuBar, gtk_menu_bar, GTK_TYPE_MENU_SHELL)
 
 static void
 gtk_menu_bar_class_init (GtkMenuBarClass *class)
@@ -237,8 +237,6 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class)
                                                              0,
                                                              GTK_PARAM_READABLE |
                                                              G_PARAM_DEPRECATED));
-
-  g_type_class_add_private (gobject_class, sizeof (GtkMenuBarPrivate));
 }
 
 static void
@@ -246,9 +244,7 @@ gtk_menu_bar_init (GtkMenuBar *menu_bar)
 {
   GtkStyleContext *context;
 
-  menu_bar->priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_bar,
-                                                GTK_TYPE_MENU_BAR,
-                                                GtkMenuBarPrivate);
+  menu_bar->priv = gtk_menu_bar_get_instance_private (menu_bar);
 
   context = gtk_widget_get_style_context (GTK_WIDGET (menu_bar));
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_MENUBAR);
index 95b2bc73b187ca0dac80335dc4e6ab83793eef00..3c852b6140d28329627b0c6d6b09339dc4df7d89 100644 (file)
@@ -174,7 +174,7 @@ enum
   PROP_DIRECTION
 };
 
-G_DEFINE_TYPE(GtkMenuButton, gtk_menu_button, GTK_TYPE_TOGGLE_BUTTON)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkMenuButton, gtk_menu_button, GTK_TYPE_TOGGLE_BUTTON)
 
 static void gtk_menu_button_dispose (GObject *object);
 
@@ -488,8 +488,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
   GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
   GtkToggleButtonClass *toggle_button_class = GTK_TOGGLE_BUTTON_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GtkMenuButtonPrivate));
-
   gobject_class->set_property = gtk_menu_button_set_property;
   gobject_class->get_property = gtk_menu_button_get_property;
   gobject_class->dispose = gtk_menu_button_dispose;
@@ -581,7 +579,7 @@ gtk_menu_button_init (GtkMenuButton *menu_button)
 {
   GtkMenuButtonPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_button, GTK_TYPE_MENU_BUTTON, GtkMenuButtonPrivate);
+  priv = gtk_menu_button_get_instance_private (menu_button);
   menu_button->priv = priv;
   priv->arrow_type = GTK_ARROW_DOWN;
 
index 56afcd6c57ef705a2358fb22fca11c0b68099d38..f300bb4b1ff0ceb579cf77121606d7ef28b48ddb 100644 (file)
@@ -215,6 +215,7 @@ static GtkBuildableIface *parent_buildable_iface;
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkMenuItem, gtk_menu_item, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkMenuItem)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_menu_item_buildable_interface_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
@@ -538,8 +539,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
                                                              P_("The minimum desired width of the menu item in characters"),
                                                              0, G_MAXINT, 12,
                                                              GTK_PARAM_READABLE));
-
-  g_type_class_add_private (klass, sizeof (GtkMenuItemPrivate));
 }
 
 static void
@@ -548,9 +547,7 @@ gtk_menu_item_init (GtkMenuItem *menu_item)
   GtkStyleContext *context;
   GtkMenuItemPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_item,
-                                      GTK_TYPE_MENU_ITEM,
-                                      GtkMenuItemPrivate);
+  priv = gtk_menu_item_get_instance_private (menu_item);
   menu_item->priv = priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (menu_item), FALSE);
index 01366b7a6b6937e78b73567caa995350c323aca3..dd5ef2f7700b675c262a5499fbaa5af0c77c245a 100644 (file)
@@ -207,7 +207,7 @@ static gboolean gtk_menu_shell_real_move_selected (GtkMenuShell  *menu_shell,
 
 static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_ABSTRACT_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
 
 static void
 gtk_menu_shell_class_init (GtkMenuShellClass *klass)
@@ -455,8 +455,6 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
                                                          GTK_PARAM_READWRITE));
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_SHELL_ACCESSIBLE);
-
-  g_type_class_add_private (object_class, sizeof (GtkMenuShellPrivate));
 }
 
 static GType
@@ -468,13 +466,8 @@ gtk_menu_shell_child_type (GtkContainer *container)
 static void
 gtk_menu_shell_init (GtkMenuShell *menu_shell)
 {
-  GtkMenuShellPrivate *priv;
-
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_shell,
-                                      GTK_TYPE_MENU_SHELL,
-                                      GtkMenuShellPrivate);
-  menu_shell->priv = priv;
-  priv->take_focus = TRUE;
+  menu_shell->priv = gtk_menu_shell_get_instance_private (menu_shell);
+  menu_shell->priv->take_focus = TRUE;
 }
 
 static void
index 6d9c1faf354036c64ef859743084933f2c72ba25..93a630d86bd248eda7da815133c34ecfdc0086a6 100644 (file)
@@ -100,6 +100,7 @@ static gint signals[LAST_SIGNAL];
 static GtkBuildableIface *parent_buildable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GtkMenuToolButton, gtk_menu_tool_button, GTK_TYPE_TOOL_BUTTON,
+                         G_ADD_PRIVATE (GtkMenuToolButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_menu_tool_button_buildable_interface_init))
 
@@ -272,8 +273,6 @@ gtk_menu_tool_button_class_init (GtkMenuToolButtonClass *klass)
                                                         P_("The dropdown menu"),
                                                         GTK_TYPE_MENU,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkMenuToolButtonPrivate));
 }
 
 static void
@@ -283,9 +282,7 @@ gtk_menu_tool_button_init (GtkMenuToolButton *button)
   GtkWidget *arrow_button;
   GtkWidget *real_button;
 
-  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                              GTK_TYPE_MENU_TOOL_BUTTON,
-                                              GtkMenuToolButtonPrivate);
+  button->priv = gtk_menu_tool_button_get_instance_private (button);
 
   gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (button), FALSE);
 
index a864f746d81b73111f1a85dc58a592daa2250005..57504b0989a136457d60e4a995ee83d365bcc602 100644 (file)
@@ -136,6 +136,7 @@ enum {
 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkMessageDialog, gtk_message_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkMessageDialog)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_message_dialog_buildable_interface_init))
 
@@ -299,8 +300,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
   gtk_widget_class_bind_child (widget_class, GtkMessageDialogPrivate, label);
   gtk_widget_class_bind_child (widget_class, GtkMessageDialogPrivate, secondary_label);
   gtk_widget_class_bind_child_internal (widget_class, GtkMessageDialogPrivate, message_area);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkMessageDialogPrivate));
 }
 
 static void
@@ -308,9 +307,7 @@ gtk_message_dialog_init (GtkMessageDialog *dialog)
 {
   GtkMessageDialogPrivate *priv;
 
-  dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                              GTK_TYPE_MESSAGE_DIALOG,
-                                              GtkMessageDialogPrivate);
+  dialog->priv = gtk_message_dialog_get_instance_private (dialog);
   priv = dialog->priv;
 
   priv->has_primary_markup = FALSE;
index 4bd162ccda0b4b5b3e538ffd33f6f406fe31ed51..7debb69cdafe3c1a796420b3cd53216340276f99 100644 (file)
@@ -81,7 +81,7 @@ static void gtk_misc_get_property (GObject         *object,
                                   GParamSpec      *pspec);
 
 
-G_DEFINE_ABSTRACT_TYPE (GtkMisc, gtk_misc, GTK_TYPE_WIDGET)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GtkMisc, gtk_misc, GTK_TYPE_WIDGET)
 
 static void
 gtk_misc_class_init (GtkMiscClass *class)
@@ -136,8 +136,6 @@ gtk_misc_class_init (GtkMiscClass *class)
                                                     G_MAXINT,
                                                     0,
                                                     GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkMiscPrivate));
 }
 
 static void
@@ -145,9 +143,7 @@ gtk_misc_init (GtkMisc *misc)
 {
   GtkMiscPrivate *priv;
 
-  misc->priv = G_TYPE_INSTANCE_GET_PRIVATE (misc,
-                                            GTK_TYPE_MISC,
-                                            GtkMiscPrivate);
+  misc->priv = gtk_misc_get_instance_private (misc); 
   priv = misc->priv;
 
   priv->xalign = 0.5;
index 4d3cc35194a7afa6b0e0a49ddd6e6e94d7408704..88cd0d5905ee7d60bceef8e9ac5ce1ccb437a7dd 100644 (file)
@@ -40,6 +40,7 @@ static void gtk_modifier_style_provider_private_init (GtkStyleProviderPrivateInt
 static void gtk_modifier_style_finalize              (GObject                          *object);
 
 G_DEFINE_TYPE_EXTENDED (GtkModifierStyle, _gtk_modifier_style, G_TYPE_OBJECT, 0,
+                        G_ADD_PRIVATE (GtkModifierStyle)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER,
                                                gtk_modifier_style_provider_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER_PRIVATE,
@@ -61,8 +62,6 @@ _gtk_modifier_style_class_init (GtkModifierStyleClass *klass)
                   0, NULL, NULL,
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
-
-  g_type_class_add_private (object_class, sizeof (GtkModifierStylePrivate));
 }
 
 static void
@@ -70,9 +69,7 @@ _gtk_modifier_style_init (GtkModifierStyle *modifier_style)
 {
   GtkModifierStylePrivate *priv;
 
-  priv = modifier_style->priv = G_TYPE_INSTANCE_GET_PRIVATE (modifier_style,
-                                                             GTK_TYPE_MODIFIER_STYLE,
-                                                             GtkModifierStylePrivate);
+  priv = modifier_style->priv = _gtk_modifier_style_get_instance_private (modifier_style);
 
   priv->color_properties = g_hash_table_new_full (g_str_hash,
                                                   g_str_equal,
index d1b72a51aacd8d15c12b8d6c075e5c861b15cc52..3d566b5c508dd4edcbd8003c5fa7267555ef70b3 100644 (file)
@@ -102,16 +102,6 @@ static void   gtk_mount_operation_show_processes (GMountOperation *op,
 
 static void   gtk_mount_operation_aborted      (GMountOperation *op);
 
-G_DEFINE_TYPE (GtkMountOperation, gtk_mount_operation, G_TYPE_MOUNT_OPERATION);
-
-enum {
-  PROP_0,
-  PROP_PARENT,
-  PROP_IS_SHOWING,
-  PROP_SCREEN
-
-};
-
 struct _GtkMountOperationPrivate {
   GtkWindow *parent_window;
   GtkDialog *dialog;
@@ -139,14 +129,22 @@ struct _GtkMountOperationPrivate {
   GtkListStore *process_list_store;
 };
 
+enum {
+  PROP_0,
+  PROP_PARENT,
+  PROP_IS_SHOWING,
+  PROP_SCREEN
+
+};
+
+G_DEFINE_TYPE_WITH_PRIVATE (GtkMountOperation, gtk_mount_operation, G_TYPE_MOUNT_OPERATION)
+
 static void
 gtk_mount_operation_class_init (GtkMountOperationClass *klass)
 {
   GObjectClass         *object_class = G_OBJECT_CLASS (klass);
   GMountOperationClass *mount_op_class = G_MOUNT_OPERATION_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GtkMountOperationPrivate));
-
   object_class->finalize     = gtk_mount_operation_finalize;
   object_class->get_property = gtk_mount_operation_get_property;
   object_class->set_property = gtk_mount_operation_set_property;
@@ -186,9 +184,7 @@ gtk_mount_operation_init (GtkMountOperation *operation)
 {
   gchar *name_owner;
 
-  operation->priv = G_TYPE_INSTANCE_GET_PRIVATE (operation,
-                                                 GTK_TYPE_MOUNT_OPERATION,
-                                                 GtkMountOperationPrivate);
+  operation->priv = gtk_mount_operation_get_instance_private (operation);
 
   operation->priv->handler =
     _gtk_mount_operation_handler_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
index 4838ec7190e8e91c1bd17c43318ecffa3eae4e67..2b4d832e677af0345e87d6298f721781cf9a695d 100644 (file)
@@ -527,6 +527,7 @@ static void gtk_notebook_buildable_add_child      (GtkBuildable *buildable,
 static guint notebook_signals[LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkNotebook, gtk_notebook, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkNotebook)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_notebook_buildable_init))
 
@@ -1149,8 +1150,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
   add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
   add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
 
-  g_type_class_add_private (class, sizeof (GtkNotebookPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_NOTEBOOK_ACCESSIBLE);
 }
 
@@ -1163,9 +1162,7 @@ gtk_notebook_init (GtkNotebook *notebook)
   gtk_widget_set_can_focus (GTK_WIDGET (notebook), TRUE);
   gtk_widget_set_has_window (GTK_WIDGET (notebook), FALSE);
 
-  notebook->priv = G_TYPE_INSTANCE_GET_PRIVATE (notebook,
-                                                GTK_TYPE_NOTEBOOK,
-                                                GtkNotebookPrivate);
+  notebook->priv = gtk_notebook_get_instance_private (notebook);
   priv = notebook->priv;
 
   priv->cur_page = NULL;
index 1d5768f11f38ab2b41346b42c912b2ebb86827c9..45c9b0e579f6e8476d9dc34744b95e93bbe39df4 100644 (file)
@@ -93,7 +93,7 @@ enum {
 
 static GParamSpec *properties[NUM_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE (GtkNumerableIcon, gtk_numerable_icon, G_TYPE_EMBLEMED_ICON);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkNumerableIcon, gtk_numerable_icon, G_TYPE_EMBLEMED_ICON)
 
 static gint
 get_surface_size (cairo_surface_t *surface)
@@ -636,8 +636,6 @@ gtk_numerable_icon_class_init (GtkNumerableIconClass *klass)
   oclass->dispose = gtk_numerable_icon_dispose;
   oclass->finalize = gtk_numerable_icon_finalize;
 
-  g_type_class_add_private (klass, sizeof (GtkNumerableIconPrivate));
-
   properties[PROP_COUNT] =
     g_param_spec_int ("count",
                       P_("Icon's count"),
@@ -682,9 +680,7 @@ gtk_numerable_icon_init (GtkNumerableIcon *self)
   GdkRGBA bg;
   GdkRGBA fg;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                            GTK_TYPE_NUMERABLE_ICON,
-                                            GtkNumerableIconPrivate);
+  self->priv = gtk_numerable_icon_get_instance_private (self);
 
   gdk_rgba_parse (&bg, DEFAULT_BACKGROUND);
   gdk_rgba_parse (&fg, DEFAULT_FOREGROUND);
index c06f8e0365f36966956aacb87055bd4ded5bdd25..59eefbf8fe1cffe9295762982c1b1645aa90b138 100644 (file)
@@ -79,6 +79,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
 static void gtk_overlay_buildable_init (GtkBuildableIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkOverlay, gtk_overlay, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkOverlay)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_overlay_buildable_init))
 
@@ -654,14 +655,12 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
                   G_TYPE_BOOLEAN, 2,
                   GTK_TYPE_WIDGET,
                   GDK_TYPE_RECTANGLE | G_SIGNAL_TYPE_STATIC_SCOPE);
-
-  g_type_class_add_private (object_class, sizeof (GtkOverlayPrivate));
 }
 
 static void
 gtk_overlay_init (GtkOverlay *overlay)
 {
-  overlay->priv = G_TYPE_INSTANCE_GET_PRIVATE (overlay, GTK_TYPE_OVERLAY, GtkOverlayPrivate);
+  overlay->priv = gtk_overlay_get_instance_private (overlay);
 
   gtk_widget_set_has_window (GTK_WIDGET (overlay), FALSE);
 }
index df6b214dbdddf7db47e48a2a94dfe85167e09555..d8f1be8cb1c028a00d654e9d48e48427c05e4ec8 100644 (file)
@@ -102,7 +102,7 @@ enum {
   PAGE_SETUP_LIST_N_COLS
 };
 
-G_DEFINE_TYPE (GtkPageSetupUnixDialog, gtk_page_setup_unix_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPageSetupUnixDialog, gtk_page_setup_unix_dialog, GTK_TYPE_DIALOG)
 
 static void gtk_page_setup_unix_dialog_finalize  (GObject                *object);
 static void fill_paper_sizes_from_printer        (GtkPageSetupUnixDialog *dialog,
@@ -177,8 +177,6 @@ gtk_page_setup_unix_dialog_class_init (GtkPageSetupUnixDialogClass *class)
 
   gtk_widget_class_bind_callback (widget_class, printer_changed_callback);
   gtk_widget_class_bind_callback (widget_class, paper_size_changed);
-
-  g_type_class_add_private (class, sizeof (GtkPageSetupUnixDialogPrivate));
 }
 
 static void
@@ -188,9 +186,7 @@ gtk_page_setup_unix_dialog_init (GtkPageSetupUnixDialog *dialog)
   GtkTreeIter iter;
   gchar *tmp;
 
-  priv = dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                                     GTK_TYPE_PAGE_SETUP_UNIX_DIALOG,
-                                                     GtkPageSetupUnixDialogPrivate);
+  priv = dialog->priv = gtk_page_setup_unix_dialog_get_instance_private (dialog);
 
   priv->print_backends = NULL;
 
index e85521c13ebeaf51e713423c08a20d41b82de51a..b929e4ac8d7563cf1bfe2108b50dcaedaca5b640 100644 (file)
@@ -258,6 +258,7 @@ static void     gtk_paned_grab_notify           (GtkWidget        *widget,
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkPaned, gtk_paned, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkPaned)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
                                                 NULL))
 
@@ -652,7 +653,6 @@ gtk_paned_class_init (GtkPanedClass *class)
   add_move_binding (binding_set, GDK_KEY_End, 0, GTK_SCROLL_END);
   add_move_binding (binding_set, GDK_KEY_KP_End, 0, GTK_SCROLL_END);
 
-  g_type_class_add_private (object_class, sizeof (GtkPanedPrivate));
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PANED_ACCESSIBLE);
 }
 
@@ -681,7 +681,7 @@ gtk_paned_init (GtkPaned *paned)
    */
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (paned), FALSE);
 
-  paned->priv = G_TYPE_INSTANCE_GET_PRIVATE (paned, GTK_TYPE_PANED, GtkPanedPrivate);
+  paned->priv = gtk_paned_get_instance_private (paned);
   priv = paned->priv;
 
   priv->orientation = GTK_ORIENTATION_HORIZONTAL;
index a00a4a413db81a354439f450030e631afbf5b707..10767b90984c1d68143565c096dc344baec89a26 100644 (file)
@@ -111,7 +111,7 @@ struct _ButtonData
  */
 #define BUTTON_IS_FAKE_ROOT(button) ((button)->type == HOME_BUTTON)
 
-G_DEFINE_TYPE (GtkPathBar, gtk_path_bar, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPathBar, gtk_path_bar, GTK_TYPE_CONTAINER)
 
 static void gtk_path_bar_finalize                 (GObject          *object);
 static void gtk_path_bar_dispose                  (GObject          *object);
@@ -179,9 +179,7 @@ on_slider_unmap (GtkWidget  *widget,
 static void
 gtk_path_bar_init (GtkPathBar *path_bar)
 {
-  path_bar->priv = G_TYPE_INSTANCE_GET_PRIVATE (path_bar,
-                                               GTK_TYPE_PATH_BAR,
-                                               GtkPathBarPrivate);
+  path_bar->priv = gtk_path_bar_get_instance_private (path_bar);
 
   gtk_widget_init_template (GTK_WIDGET (path_bar));
 
@@ -270,8 +268,6 @@ gtk_path_bar_class_init (GtkPathBarClass *path_bar_class)
   gtk_widget_class_bind_callback (widget_class, gtk_path_bar_scroll_up);
   gtk_widget_class_bind_callback (widget_class, gtk_path_bar_scroll_down);
   gtk_widget_class_bind_callback (widget_class, on_slider_unmap);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkPathBarPrivate));
 }
 
 
index c93adebe0e0e27b21057f198b31221e09a3e33c9..788be1a71e44c07eea6507a0c0a6978f01702c99 100644 (file)
@@ -130,7 +130,7 @@ enum {
 
 static guint plug_signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkPlug, gtk_plug, GTK_TYPE_WINDOW)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPlug, gtk_plug, GTK_TYPE_WINDOW)
 
 static void
 gtk_plug_get_property (GObject    *object,
@@ -233,16 +233,12 @@ gtk_plug_class_init (GtkPlugClass *class)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (class, sizeof (GtkPlugPrivate));
 }
 
 static void
 gtk_plug_init (GtkPlug *plug)
 {
-  plug->priv = G_TYPE_INSTANCE_GET_PRIVATE (plug,
-                                            GTK_TYPE_PLUG,
-                                            GtkPlugPrivate);
+  plug->priv = gtk_plug_get_instance_private (plug);
 }
 
 /**
index cabdc342d5c5b62692bbc92fa6d34d2519767db0..0b4f35d0498acb4ab63187ebfa8b3a09ce9a14d6 100644 (file)
@@ -51,15 +51,12 @@ enum
 
 static guint signals[LAST_SIGNAL];
 
-G_DEFINE_TYPE (GtkPressAndHold, gtk_press_and_hold, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPressAndHold, gtk_press_and_hold, G_TYPE_OBJECT)
 
 static void
 gtk_press_and_hold_init (GtkPressAndHold *pah)
 {
-  pah->priv = G_TYPE_INSTANCE_GET_PRIVATE (pah,
-                                           GTK_TYPE_PRESS_AND_HOLD,
-                                           GtkPressAndHoldPrivate);
-
+  pah->priv = gtk_press_and_hold_get_instance_private (pah);
   pah->priv->hold_time = 1000;
   pah->priv->drag_threshold = 8;
 }
@@ -151,8 +148,6 @@ gtk_press_and_hold_class_init (GtkPressAndHoldClass *class)
   g_object_class_install_property (object_class, PROP_DRAG_THRESHOLD,
       g_param_spec_int ("drag-threshold", P_("Drag Threshold"), P_("Drag Threshold (in pixels)"),
                         1, G_MAXINT, 8, GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkPressAndHoldPrivate));
 }
 
 static void
index dcfe9a720431614f6510f01dfb655b7f942cf821..fc2a21002265da878ca1408c3415527dce980186 100644 (file)
@@ -342,7 +342,7 @@ gtk_print_backend_load_modules (void)
  *             GtkPrintBackend           *
  *****************************************/
 
-G_DEFINE_TYPE (GtkPrintBackend, gtk_print_backend, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPrintBackend, gtk_print_backend, G_TYPE_OBJECT)
 
 static void                 fallback_printer_request_details       (GtkPrinter          *printer);
 static gboolean             fallback_printer_mark_conflicts        (GtkPrinter          *printer,
@@ -391,8 +391,6 @@ gtk_print_backend_class_init (GtkPrintBackendClass *class)
                                                      GTK_PRINT_BACKEND_STATUS_UNAVAILABLE,
                                                      GTK_PRINT_BACKEND_STATUS_UNKNOWN,
                                                      GTK_PARAM_READWRITE)); 
-
-  g_type_class_add_private (class, sizeof (GtkPrintBackendPrivate));
   
   signals[PRINTER_LIST_CHANGED] =
     g_signal_new (I_("printer-list-changed"),
@@ -449,9 +447,7 @@ gtk_print_backend_init (GtkPrintBackend *backend)
 {
   GtkPrintBackendPrivate *priv;
 
-  priv = backend->priv = G_TYPE_INSTANCE_GET_PRIVATE (backend,
-                                                      GTK_TYPE_PRINT_BACKEND,
-                                                      GtkPrintBackendPrivate);
+  priv = backend->priv = gtk_print_backend_get_instance_private (backend);
 
   priv->printers = g_hash_table_new_full (g_str_hash, g_str_equal, 
                                          (GDestroyNotify) g_free,
index fac0136fe5b6bb3433cbdb59f6eb45baa66c903d..d8097363aa4beba7dbb8445924acb49fa850189f 100644 (file)
@@ -102,7 +102,7 @@ static void gtk_printer_get_property (GObject      *object,
                                      GValue       *value,
                                      GParamSpec   *pspec);
 
-G_DEFINE_TYPE (GtkPrinter, gtk_printer, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPrinter, gtk_printer, G_TYPE_OBJECT)
 
 static void
 gtk_printer_class_init (GtkPrinterClass *class)
@@ -115,8 +115,6 @@ gtk_printer_class_init (GtkPrinterClass *class)
   object_class->set_property = gtk_printer_set_property;
   object_class->get_property = gtk_printer_get_property;
 
-  g_type_class_add_private (class, sizeof (GtkPrinterPrivate));
-
   g_object_class_install_property (G_OBJECT_CLASS (class),
                                    PROP_NAME,
                                    g_param_spec_string ("name",
@@ -240,9 +238,7 @@ gtk_printer_init (GtkPrinter *printer)
 {
   GtkPrinterPrivate *priv;
 
-  priv = printer->priv = G_TYPE_INSTANCE_GET_PRIVATE (printer,
-                                                      GTK_TYPE_PRINTER,
-                                                      GtkPrinterPrivate);
+  priv = printer->priv = gtk_printer_get_instance_private (printer);
 
   priv->name = NULL;
   priv->location = NULL;
index f538607123991e07a01441604271cf3bf34e8a27..4fa951ff7f79c61faad57a7af7766564e0122305 100644 (file)
@@ -38,9 +38,6 @@
 
 #include "gtkprinteroptionwidget.h"
 
-#define GTK_PRINTER_OPTION_WIDGET_GET_PRIVATE(o)  \
-   (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_PRINTER_OPTION_WIDGET, GtkPrinterOptionWidgetPrivate))
-
 /* This defines the max file length that the file chooser
  * button should display. The total length will be
  * FILENAME_LENGTH_MAX+3 because the truncated name is prefixed
@@ -86,7 +83,7 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkPrinterOptionWidget, gtk_printer_option_widget, GTK_TYPE_BOX)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPrinterOptionWidget, gtk_printer_option_widget, GTK_TYPE_BOX)
 
 static void gtk_printer_option_widget_set_property (GObject      *object,
                                                    guint         prop_id,
@@ -114,8 +111,6 @@ gtk_printer_option_widget_class_init (GtkPrinterOptionWidgetClass *class)
 
   widget_class->mnemonic_activate = gtk_printer_option_widget_mnemonic_activate;
 
-  g_type_class_add_private (class, sizeof (GtkPrinterOptionWidgetPrivate));
-
   signals[CHANGED] =
     g_signal_new ("changed",
                  G_TYPE_FROM_CLASS (class),
@@ -138,7 +133,7 @@ gtk_printer_option_widget_class_init (GtkPrinterOptionWidgetClass *class)
 static void
 gtk_printer_option_widget_init (GtkPrinterOptionWidget *widget)
 {
-  widget->priv = GTK_PRINTER_OPTION_WIDGET_GET_PRIVATE (widget); 
+  widget->priv = gtk_printer_option_widget_get_instance_private (widget);
 
   gtk_box_set_spacing (GTK_BOX (widget), 12);
 }
index 439b6686269825ce34c7e87b392037f152450081..918ece56a850315aa973837e05b3636b3b723190 100644 (file)
@@ -86,9 +86,6 @@ struct _GtkPrintJobPrivate
   guint reverse               : 1;
 };
 
-#define GTK_PRINT_JOB_GET_PRIVATE(o)  \
-   (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_PRINT_JOB, GtkPrintJobPrivate))
-
 static void     gtk_print_job_finalize     (GObject               *object);
 static void     gtk_print_job_set_property (GObject               *object,
                                            guint                  prop_id,
@@ -118,7 +115,7 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkPrintJob, gtk_print_job, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkPrintJob, gtk_print_job, G_TYPE_OBJECT)
 
 static void
 gtk_print_job_class_init (GtkPrintJobClass *class)
@@ -131,8 +128,6 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
   object_class->set_property = gtk_print_job_set_property;
   object_class->get_property = gtk_print_job_get_property;
 
-  g_type_class_add_private (class, sizeof (GtkPrintJobPrivate));
-
   g_object_class_install_property (object_class,
                                    PROP_TITLE,
                                    g_param_spec_string ("title",
@@ -204,7 +199,7 @@ gtk_print_job_init (GtkPrintJob *job)
 {
   GtkPrintJobPrivate *priv;
 
-  priv = job->priv = GTK_PRINT_JOB_GET_PRIVATE (job);
+  priv = job->priv = gtk_print_job_get_instance_private (job);
 
   priv->spool_io = NULL;
 
index 3fd4f93dc7c0b746515f244dc74e39f08d057e9f..58d49a1b128004ea3d228306120122fcfe069cdb 100644 (file)
@@ -158,6 +158,7 @@ static void          clamp_page_ranges       (PrintPagesData *data);
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkPrintOperation, gtk_print_operation, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkPrintOperation)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_PRINT_OPERATION_PREVIEW,
                                                preview_iface_init))
 
@@ -224,9 +225,7 @@ gtk_print_operation_init (GtkPrintOperation *operation)
   GtkPrintOperationPrivate *priv;
   const char *appname;
 
-  priv = operation->priv = G_TYPE_INSTANCE_GET_PRIVATE (operation,
-                                                        GTK_TYPE_PRINT_OPERATION,
-                                                        GtkPrintOperationPrivate);
+  priv = operation->priv = gtk_print_operation_get_instance_private (operation);
 
   priv->status = GTK_PRINT_STATUS_INITIAL;
   priv->status_string = g_strdup ("");
@@ -736,8 +735,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
   class->preview = gtk_print_operation_preview_handler; 
   class->create_custom_widget = gtk_print_operation_create_custom_widget;
   class->done = gtk_print_operation_done;
-  
-  g_type_class_add_private (gobject_class, sizeof (GtkPrintOperationPrivate));
 
   /**
    * GtkPrintOperation::done:
index 9f0065f067b3a7ebc8ab97c50a720167da855b6d..db0c5599e5fc57e794512d2a6e92cc0e4693410a 100644 (file)
@@ -374,6 +374,7 @@ struct GtkPrintUnixDialogPrivate
 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkPrintUnixDialog, gtk_print_unix_dialog, GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkPrintUnixDialog)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_print_unix_dialog_buildable_init))
 
@@ -560,8 +561,6 @@ gtk_print_unix_dialog_class_init (GtkPrintUnixDialogClass *class)
   gtk_widget_class_bind_callback (widget_class, update_number_up_layout);
   gtk_widget_class_bind_callback (widget_class, redraw_page_layout_preview);
   gtk_widget_class_bind_callback (widget_class, draw_page_cb);
-
-  g_type_class_add_private (class, sizeof (GtkPrintUnixDialogPrivate));
 }
 
 /* Returns a toplevel GtkWindow, or NULL if none */
@@ -727,9 +726,7 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog)
   GtkPrintUnixDialogPrivate *priv;
   GtkTreeSortable *sort;
 
-  dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                              GTK_TYPE_PRINT_UNIX_DIALOG,
-                                              GtkPrintUnixDialogPrivate);
+  dialog->priv = gtk_print_unix_dialog_get_instance_private (dialog);
   priv = dialog->priv;
 
   priv->print_backends = NULL;
index 932980a33e5deb8599becbdabf73bb98e0968d8d..39e438876f51787ab503e0570092edfb4269c337 100644 (file)
@@ -122,6 +122,7 @@ static void     gtk_progress_bar_set_orientation  (GtkProgressBar *progress,
                                                    GtkOrientation  orientation);
 
 G_DEFINE_TYPE_WITH_CODE (GtkProgressBar, gtk_progress_bar, GTK_TYPE_WIDGET,
+                         G_ADD_PRIVATE (GtkProgressBar)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 static void
@@ -286,8 +287,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
                                                              1, G_MAXINT, MIN_VERTICAL_BAR_HEIGHT,
                                                              G_PARAM_READWRITE));
 
-  g_type_class_add_private (class, sizeof (GtkProgressBarPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PROGRESS_BAR_ACCESSIBLE);
 }
 
@@ -296,9 +295,7 @@ gtk_progress_bar_init (GtkProgressBar *pbar)
 {
   GtkProgressBarPrivate *priv;
 
-  pbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (pbar,
-                                            GTK_TYPE_PROGRESS_BAR,
-                                            GtkProgressBarPrivate);
+  pbar->priv = gtk_progress_bar_get_instance_private (pbar);
   priv = pbar->priv;
 
   priv->orientation = GTK_ORIENTATION_HORIZONTAL;
index daf81e964462c8273219b3e1317a07060046c22b..63830ca2ec607fb58b6435e3830198d05597e7a1 100644 (file)
@@ -31,7 +31,7 @@ struct _GtkQueryPrivate
   GList *mime_types;
 };
 
-G_DEFINE_TYPE (GtkQuery, _gtk_query, G_TYPE_OBJECT);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkQuery, _gtk_query, G_TYPE_OBJECT)
 
 static void
 finalize (GObject *object)
@@ -52,14 +52,12 @@ _gtk_query_class_init (GtkQueryClass *class)
   
   gobject_class = G_OBJECT_CLASS (class);
   gobject_class->finalize = finalize;
-
-  g_type_class_add_private (gobject_class, sizeof (GtkQueryPrivate));  
 }
 
 static void
 _gtk_query_init (GtkQuery *query)
 {
-  query->priv = G_TYPE_INSTANCE_GET_PRIVATE (query, GTK_TYPE_QUERY, GtkQueryPrivate);
+  query->priv = _gtk_query_get_instance_private (query);
 }
 
 GtkQuery *
index 3fb226a0e76c06e2f8783b2a09627700ce18ac0b..6b3c657fc25a11d93f4d7eaf7fbeb4921b45c69e 100644 (file)
@@ -80,7 +80,7 @@ static void gtk_radio_action_activate     (GtkAction *action);
 static GtkWidget *create_menu_item        (GtkAction *action);
 
 
-G_DEFINE_TYPE (GtkRadioAction, gtk_radio_action, GTK_TYPE_TOGGLE_ACTION)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioAction, gtk_radio_action, GTK_TYPE_TOGGLE_ACTION)
 
 static guint         radio_action_signals[LAST_SIGNAL] = { 0 };
 
@@ -181,17 +181,12 @@ gtk_radio_action_class_init (GtkRadioActionClass *klass)
                  G_STRUCT_OFFSET (GtkRadioActionClass, changed),  NULL, NULL,
                  g_cclosure_marshal_VOID__OBJECT,
                  G_TYPE_NONE, 1, GTK_TYPE_RADIO_ACTION);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkRadioActionPrivate));
 }
 
 static void
 gtk_radio_action_init (GtkRadioAction *action)
 {
-  action->private_data = G_TYPE_INSTANCE_GET_PRIVATE (action,
-                                                      GTK_TYPE_RADIO_ACTION,
-                                                      GtkRadioActionPrivate);
-
+  action->private_data = gtk_radio_action_get_instance_private (action);
   action->private_data->group = g_slist_prepend (NULL, action);
   action->private_data->value = 0;
 
index ca221edf3d6dacece6fba15c223f30e64efcf5ef..b4f375cffbf7aa2a60288d06b10ee00f17be6a55 100644 (file)
@@ -132,7 +132,7 @@ static void     gtk_radio_button_get_property   (GObject             *object,
                                                 GValue              *value,
                                                 GParamSpec          *pspec);
 
-G_DEFINE_TYPE (GtkRadioButton, gtk_radio_button, GTK_TYPE_CHECK_BUTTON)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioButton, gtk_radio_button, GTK_TYPE_CHECK_BUTTON)
 
 static guint group_changed_signal = 0;
 
@@ -194,8 +194,6 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class)
                                       _gtk_marshal_VOID__VOID,
                                       G_TYPE_NONE, 0);
 
-  g_type_class_add_private (class, sizeof (GtkRadioButtonPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_BUTTON_ACCESSIBLE);
 }
 
@@ -204,9 +202,7 @@ gtk_radio_button_init (GtkRadioButton *radio_button)
 {
   GtkRadioButtonPrivate *priv;
 
-  radio_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (radio_button,
-                                                    GTK_TYPE_RADIO_BUTTON,
-                                                    GtkRadioButtonPrivate);
+  radio_button->priv = gtk_radio_button_get_instance_private (radio_button);
   priv = radio_button->priv;
 
   gtk_widget_set_receives_default (GTK_WIDGET (radio_button), FALSE);
index f9737aba2d72835ed0efc4adcba27cfd2506dc84..d59eb04b609f278b44418eacc6cef54671697d2b 100644 (file)
@@ -89,7 +89,7 @@ static void gtk_radio_menu_item_get_property   (GObject               *object,
 
 static guint group_changed_signal = 0;
 
-G_DEFINE_TYPE (GtkRadioMenuItem, gtk_radio_menu_item, GTK_TYPE_CHECK_MENU_ITEM)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioMenuItem, gtk_radio_menu_item, GTK_TYPE_CHECK_MENU_ITEM)
 
 /**
  * gtk_radio_menu_item_new:
@@ -430,8 +430,6 @@ gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass)
                                       NULL, NULL,
                                       _gtk_marshal_VOID__VOID,
                                       G_TYPE_NONE, 0);
-
-  g_type_class_add_private (klass, sizeof (GtkRadioMenuItemPrivate));
 }
 
 static void
@@ -439,9 +437,7 @@ gtk_radio_menu_item_init (GtkRadioMenuItem *radio_menu_item)
 {
   GtkRadioMenuItemPrivate *priv;
 
-  radio_menu_item->priv = G_TYPE_INSTANCE_GET_PRIVATE (radio_menu_item,
-                                                       GTK_TYPE_RADIO_MENU_ITEM,
-                                                       GtkRadioMenuItemPrivate);
+  radio_menu_item->priv = gtk_radio_menu_item_get_instance_private (radio_menu_item);
   priv = radio_menu_item->priv;
 
   priv->group = g_slist_prepend (NULL, radio_menu_item);
index 4a42597b4d3c0c854cd74a97fac2b7f312677773..9ef4ff362b2216bd27892122705b54be479af584 100644 (file)
@@ -280,6 +280,7 @@ static gboolean      gtk_range_key_press                (GtkWidget     *range,
 
 
 G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkRange, gtk_range, GTK_TYPE_WIDGET,
+                                  G_ADD_PRIVATE (GtkRange)
                                   G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
                                                          NULL))
 
@@ -606,8 +607,6 @@ gtk_range_class_init (GtkRangeClass *class)
                                                               0.0, 1.0, 0.5,
                                                               GTK_PARAM_READABLE));
 
-  g_type_class_add_private (class, sizeof (GtkRangePrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RANGE_ACCESSIBLE);
 }
 
@@ -713,9 +712,7 @@ gtk_range_init (GtkRange *range)
 {
   GtkRangePrivate *priv;
 
-  range->priv = G_TYPE_INSTANCE_GET_PRIVATE (range,
-                                             GTK_TYPE_RANGE,
-                                             GtkRangePrivate);
+  range->priv = gtk_range_get_instance_private (range);
   priv = range->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (range), FALSE);
index e9ffe5707a2375edd0769f11cee291763190f27c..f61dfa98ff0ed3d46313ee6f7bf0453ec29130d9 100644 (file)
@@ -88,6 +88,7 @@ static void gtk_recent_chooser_iface_init (GtkRecentChooserIface *iface);
 G_DEFINE_TYPE_WITH_CODE (GtkRecentAction,
                          gtk_recent_action,
                          GTK_TYPE_ACTION,
+                         G_ADD_PRIVATE (GtkRecentAction)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
                                                 gtk_recent_chooser_iface_init));
 
@@ -613,8 +614,6 @@ gtk_recent_action_class_init (GtkRecentActionClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GtkActionClass *action_class = GTK_ACTION_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GtkRecentActionPrivate));
-
   gobject_class->finalize = gtk_recent_action_finalize;
   gobject_class->dispose = gtk_recent_action_dispose;
   gobject_class->set_property = gtk_recent_action_set_property;
@@ -655,9 +654,7 @@ gtk_recent_action_init (GtkRecentAction *action)
 {
   GtkRecentActionPrivate *priv;
 
-  action->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (action,
-                                                     GTK_TYPE_RECENT_ACTION,
-                                                     GtkRecentActionPrivate);
+  action->priv = priv = gtk_recent_action_get_instance_private (action);
 
   priv->show_numbers = FALSE;
   priv->show_icons = TRUE;
index 32014bf86df5ce2ef311d75ac7e4da085d3c9b6f..c1d15d2feb69659765fd705c95e17310b1fab215 100644 (file)
@@ -291,6 +291,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkRecentChooserDefault,
                         _gtk_recent_chooser_default,
                         GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkRecentChooserDefault)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
                                                gtk_recent_chooser_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
@@ -366,8 +367,6 @@ _gtk_recent_chooser_default_class_init (GtkRecentChooserDefaultClass *klass)
   gtk_widget_class_bind_callback (widget_class, recent_view_drag_begin_cb);
   gtk_widget_class_bind_callback (widget_class, recent_view_drag_data_get_cb);
   gtk_widget_class_bind_callback (widget_class, recent_view_query_tooltip_cb);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkRecentChooserDefaultPrivate));
 }
 
 static void
@@ -375,9 +374,7 @@ _gtk_recent_chooser_default_init (GtkRecentChooserDefault *impl)
 {
   GtkRecentChooserDefaultPrivate *priv;
 
-  impl->priv = priv =
-    G_TYPE_INSTANCE_GET_PRIVATE (impl, GTK_TYPE_RECENT_CHOOSER_DEFAULT,
-                                GtkRecentChooserDefaultPrivate);
+  impl->priv = priv = _gtk_recent_chooser_default_get_instance_private (impl);
 
   /* by default, we use the global manager */
   priv->local_manager = FALSE;
index e6b7db684a50f252715439891bd5b107b1d7ec87..97309651efbf281d571ba3f9978dddb27a1bf06b 100644 (file)
@@ -101,6 +101,7 @@ static void gtk_recent_chooser_dialog_get_property (GObject      *object,
 G_DEFINE_TYPE_WITH_CODE (GtkRecentChooserDialog,
                         gtk_recent_chooser_dialog,
                         GTK_TYPE_DIALOG,
+                         G_ADD_PRIVATE (GtkRecentChooserDialog)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
                                                _gtk_recent_chooser_delegate_iface_init))
 
@@ -115,20 +116,16 @@ gtk_recent_chooser_dialog_class_init (GtkRecentChooserDialogClass *klass)
   gobject_class->finalize = gtk_recent_chooser_dialog_finalize;
   
   _gtk_recent_chooser_install_properties (gobject_class);
-  
-  g_type_class_add_private (klass, sizeof (GtkRecentChooserDialogPrivate));
 }
 
 static void
 gtk_recent_chooser_dialog_init (GtkRecentChooserDialog *dialog)
 {
+  GtkRecentChooserDialogPrivate *priv;
   GtkWidget *content_area, *action_area;
-
-  GtkRecentChooserDialogPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
-                                                                    GTK_TYPE_RECENT_CHOOSER_DIALOG,
-                                                                    GtkRecentChooserDialogPrivate);
   GtkDialog *rc_dialog = GTK_DIALOG (dialog);
-  
+
+  priv = gtk_recent_chooser_dialog_get_instance_private (dialog);
   dialog->priv = priv;
 
   content_area = gtk_dialog_get_content_area (rc_dialog);
index 08e385805a3032701edded508832220617afaeb9..f1ce8479f9d01878c2e0d34cf8e0db82aac70662 100644 (file)
@@ -188,6 +188,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkRecentChooserMenu,
                         gtk_recent_chooser_menu,
                         GTK_TYPE_MENU,
+                         G_ADD_PRIVATE (GtkRecentChooserMenu)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
                                                gtk_recent_chooser_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
@@ -250,8 +251,6 @@ gtk_recent_chooser_menu_class_init (GtkRecentChooserMenuClass *klass)
 
   g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_RELATED_ACTION, "related-action");
   g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_USE_ACTION_APPEARANCE, "use-action-appearance");
-
-  g_type_class_add_private (klass, sizeof (GtkRecentChooserMenuPrivate));
 }
 
 static void
@@ -259,10 +258,7 @@ gtk_recent_chooser_menu_init (GtkRecentChooserMenu *menu)
 {
   GtkRecentChooserMenuPrivate *priv;
 
-  menu->priv = G_TYPE_INSTANCE_GET_PRIVATE (menu,
-                                            GTK_TYPE_RECENT_CHOOSER_MENU,
-                                            GtkRecentChooserMenuPrivate);
-
+  menu->priv = gtk_recent_chooser_menu_get_instance_private (menu);
   priv = menu->priv;
 
   priv->show_icons= TRUE;
index 64f6df660f89247ad204b61cb0fe40f5baa13203..d8fe8753e4d840077172da3f738f3d1e8dece913 100644 (file)
@@ -49,11 +49,6 @@ struct _GtkRecentChooserWidgetPrivate
   GtkWidget *chooser;
 };
 
-#define GTK_RECENT_CHOOSER_WIDGET_GET_PRIVATE(obj)     (GTK_RECENT_CHOOSER_WIDGET (obj)->priv)
-
-static GObject *gtk_recent_chooser_widget_constructor  (GType                  type,
-                                                       guint                  n_params,
-                                                       GObjectConstructParam *params);
 static void     gtk_recent_chooser_widget_set_property (GObject               *object,
                                                        guint                  prop_id,
                                                        const GValue          *value,
@@ -68,57 +63,21 @@ static void     gtk_recent_chooser_widget_finalize     (GObject               *o
 G_DEFINE_TYPE_WITH_CODE (GtkRecentChooserWidget,
                         gtk_recent_chooser_widget,
                         GTK_TYPE_BOX,
+                         G_ADD_PRIVATE (GtkRecentChooserWidget)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
                                                _gtk_recent_chooser_delegate_iface_init))
 
 static void
-gtk_recent_chooser_widget_class_init (GtkRecentChooserWidgetClass *klass)
+gtk_recent_chooser_widget_constructed (GObject *gobject)
 {
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GtkRecentChooserWidget *self = GTK_RECENT_CHOOSER_WIDGET (gobject);
 
-  gobject_class->constructor = gtk_recent_chooser_widget_constructor;
-  gobject_class->set_property = gtk_recent_chooser_widget_set_property;
-  gobject_class->get_property = gtk_recent_chooser_widget_get_property;
-  gobject_class->finalize = gtk_recent_chooser_widget_finalize;
+  self->priv->chooser = _gtk_recent_chooser_default_new (self->priv->manager);
 
-  _gtk_recent_chooser_install_properties (gobject_class);
-
-  g_type_class_add_private (klass, sizeof (GtkRecentChooserWidgetPrivate));
-}
-
-
-static void
-gtk_recent_chooser_widget_init (GtkRecentChooserWidget *widget)
-{
-  widget->priv = G_TYPE_INSTANCE_GET_PRIVATE (widget, GTK_TYPE_RECENT_CHOOSER_WIDGET,
-                                              GtkRecentChooserWidgetPrivate);
-
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (widget),
-                                  GTK_ORIENTATION_VERTICAL);
-}
-
-static GObject *
-gtk_recent_chooser_widget_constructor (GType                  type,
-                                      guint                  n_params,
-                                      GObjectConstructParam *params)
-{
-  GObject *object;
-  GtkRecentChooserWidgetPrivate *priv;
-
-  object = G_OBJECT_CLASS (gtk_recent_chooser_widget_parent_class)->constructor (type,
-                                                                                n_params,
-                                                                                params);
-
-  priv = GTK_RECENT_CHOOSER_WIDGET_GET_PRIVATE (object);
-  priv->chooser = _gtk_recent_chooser_default_new (priv->manager);
-  
-  
-  gtk_container_add (GTK_CONTAINER (object), priv->chooser);
-  gtk_widget_show (priv->chooser);
-  _gtk_recent_chooser_set_delegate (GTK_RECENT_CHOOSER (object),
-                                   GTK_RECENT_CHOOSER (priv->chooser));
-
-  return object;
+  gtk_container_add (GTK_CONTAINER (self), self->priv->chooser);
+  gtk_widget_show (self->priv->chooser);
+  _gtk_recent_chooser_set_delegate (GTK_RECENT_CHOOSER (self),
+                                   GTK_RECENT_CHOOSER (self->priv->chooser));
 }
 
 static void
@@ -129,7 +88,7 @@ gtk_recent_chooser_widget_set_property (GObject      *object,
 {
   GtkRecentChooserWidgetPrivate *priv;
 
-  priv = GTK_RECENT_CHOOSER_WIDGET_GET_PRIVATE (object);
+  priv = gtk_recent_chooser_widget_get_instance_private (GTK_RECENT_CHOOSER_WIDGET (object));
   
   switch (prop_id)
     {
@@ -150,7 +109,7 @@ gtk_recent_chooser_widget_get_property (GObject    *object,
 {
   GtkRecentChooserWidgetPrivate *priv;
 
-  priv = GTK_RECENT_CHOOSER_WIDGET_GET_PRIVATE (object);
+  priv = gtk_recent_chooser_widget_get_instance_private (GTK_RECENT_CHOOSER_WIDGET (object));
 
   g_object_get_property (G_OBJECT (priv->chooser), pspec->name, value);
 }
@@ -158,14 +117,35 @@ gtk_recent_chooser_widget_get_property (GObject    *object,
 static void
 gtk_recent_chooser_widget_finalize (GObject *object)
 {
-  GtkRecentChooserWidgetPrivate *priv;
-  
-  priv = GTK_RECENT_CHOOSER_WIDGET_GET_PRIVATE (object);
-  priv->manager = NULL;
+  GtkRecentChooserWidget *self = GTK_RECENT_CHOOSER_WIDGET (object);
+
+  self->priv->manager = NULL;
   
   G_OBJECT_CLASS (gtk_recent_chooser_widget_parent_class)->finalize (object);
 }
 
+static void
+gtk_recent_chooser_widget_class_init (GtkRecentChooserWidgetClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  gobject_class->constructed = gtk_recent_chooser_widget_constructed;
+  gobject_class->set_property = gtk_recent_chooser_widget_set_property;
+  gobject_class->get_property = gtk_recent_chooser_widget_get_property;
+  gobject_class->finalize = gtk_recent_chooser_widget_finalize;
+
+  _gtk_recent_chooser_install_properties (gobject_class);
+}
+
+static void
+gtk_recent_chooser_widget_init (GtkRecentChooserWidget *widget)
+{
+  widget->priv = gtk_recent_chooser_widget_get_instance_private (widget);
+
+  gtk_orientable_set_orientation (GTK_ORIENTABLE (widget),
+                                  GTK_ORIENTATION_VERTICAL);
+}
+
 /*
  * Public API
  */
index 310efe077126223be5bb33dbbcedb2a548909a4d..d2f4d68de795d447b5254c1effa31c933ab7da25 100644 (file)
@@ -230,7 +230,7 @@ static guint signal_changed = 0;
 
 static GtkRecentManager *recent_manager_singleton = NULL;
 
-G_DEFINE_TYPE (GtkRecentManager, gtk_recent_manager, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkRecentManager, gtk_recent_manager, G_TYPE_OBJECT)
 
 static void
 filename_warning (const gchar *format, 
@@ -333,8 +333,6 @@ gtk_recent_manager_class_init (GtkRecentManagerClass *klass)
                  G_TYPE_NONE, 0);
   
   klass->changed = gtk_recent_manager_real_changed;
-  
-  g_type_class_add_private (klass, sizeof (GtkRecentManagerPrivate));
 }
 
 static void
@@ -343,9 +341,7 @@ gtk_recent_manager_init (GtkRecentManager *manager)
   GtkRecentManagerPrivate *priv;
   GtkSettings *settings;
 
-  manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
-                                               GTK_TYPE_RECENT_MANAGER,
-                                               GtkRecentManagerPrivate);
+  manager->priv = gtk_recent_manager_get_instance_private (manager);
   priv = manager->priv;
 
   priv->size = 0;
index f3c584e5666630d5d0e8a251b1fe40446c16a47e..e97572586cce5d89ccf7b283b17737efb9dcaa85 100644 (file)
@@ -108,8 +108,7 @@ static void     gtk_revealer_real_get_preferred_width_for_height (GtkWidget
                                                                   gint          *minimum_width,
                                                                   gint          *natural_width);
 
-G_DEFINE_TYPE_WITH_PRIVATE (GtkRevealer, gtk_revealer, GTK_TYPE_BIN);
-
+G_DEFINE_TYPE_WITH_PRIVATE (GtkRevealer, gtk_revealer, GTK_TYPE_BIN)
 
 static void
 gtk_revealer_init (GtkRevealer *revealer)
index 6abd82e1c60cab120545c0ad86882e5143467460..46b7ceb70347861bd75ec12be92258d9bdbf7c70 100644 (file)
@@ -163,6 +163,7 @@ static void     gtk_scale_buildable_custom_finished  (GtkBuildable  *buildable,
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkScale, gtk_scale, GTK_TYPE_RANGE,
+                         G_ADD_PRIVATE (GtkScale)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_scale_buildable_interface_init))
 
@@ -474,8 +475,6 @@ gtk_scale_class_init (GtkScaleClass *class)
   add_slider_binding (binding_set, GDK_KEY_KP_End, 0,
                       GTK_SCROLL_END);
 
-  g_type_class_add_private (gobject_class, sizeof (GtkScalePrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCALE_ACCESSIBLE);
 }
 
@@ -486,9 +485,7 @@ gtk_scale_init (GtkScale *scale)
   GtkRange *range = GTK_RANGE (scale);
   GtkStyleContext *context;
 
-  scale->priv = G_TYPE_INSTANCE_GET_PRIVATE (scale,
-                                             GTK_TYPE_SCALE,
-                                             GtkScalePrivate);
+  scale->priv = gtk_scale_get_instance_private (scale);
   priv = scale->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (scale), TRUE);
@@ -503,7 +500,7 @@ gtk_scale_init (GtkScale *scale)
   gtk_range_set_round_digits (range, priv->digits);
 
   gtk_range_set_flippable (range,
-                           gtk_orientable_get_orientation (GTK_ORIENTABLE (range))== GTK_ORIENTATION_HORIZONTAL);
+                           gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL);
 
   context = gtk_widget_get_style_context (GTK_WIDGET (scale));
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_SCALE);
index 2a5c3d69bf342d3df694293155200d4edde4b2d3..bc23e4d732d311828a8d318d68b5b9aa54656c40 100644 (file)
@@ -167,6 +167,7 @@ static void gtk_scale_button_update_icon    (GtkScaleButton      *button);
 static void gtk_scale_button_scale_value_changed(GtkRange            *range);
 
 G_DEFINE_TYPE_WITH_CODE (GtkScaleButton, gtk_scale_button, GTK_TYPE_BUTTON,
+                         G_ADD_PRIVATE (GtkScaleButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
                                                 NULL))
 
@@ -194,8 +195,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
   GtkBindingSet *binding_set;
 
-  g_type_class_add_private (klass, sizeof (GtkScaleButtonPrivate));
-
   gobject_class->constructor = gtk_scale_button_constructor;
   gobject_class->finalize = gtk_scale_button_finalize;
   gobject_class->dispose = gtk_scale_button_dispose;
@@ -385,9 +384,7 @@ gtk_scale_button_init (GtkScaleButton *button)
 {
   GtkScaleButtonPrivate *priv;
 
-  button->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                                     GTK_TYPE_SCALE_BUTTON,
-                                                     GtkScaleButtonPrivate);
+  button->priv = priv = gtk_scale_button_get_instance_private (button);
 
   priv->timeout = FALSE;
   priv->click_id = 0;
index 94ad7bb4a1a92c392fb9f309aec593d32eaa2ca0..54672bc51ad5bdefed8a11a480e6ef31f5aeed7c 100644 (file)
@@ -281,8 +281,7 @@ static void gtk_scrolled_window_cancel_deceleration (GtkScrolledWindow *scrolled
 
 static guint signals[LAST_SIGNAL] = {0};
 
-G_DEFINE_TYPE (GtkScrolledWindow, gtk_scrolled_window, GTK_TYPE_BIN)
-
+G_DEFINE_TYPE_WITH_PRIVATE (GtkScrolledWindow, gtk_scrolled_window, GTK_TYPE_BIN)
 
 static void
 add_scroll_binding (GtkBindingSet  *binding_set,
@@ -562,8 +561,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
   add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
   add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
 
-  g_type_class_add_private (class, sizeof (GtkScrolledWindowPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE);
 }
 
@@ -572,9 +569,8 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window)
 {
   GtkScrolledWindowPrivate *priv;
 
-  scrolled_window->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (scrolled_window,
-                                                              GTK_TYPE_SCROLLED_WINDOW,
-                                                              GtkScrolledWindowPrivate);
+  scrolled_window->priv = priv =
+    gtk_scrolled_window_get_instance_private (scrolled_window);
 
   gtk_widget_set_has_window (GTK_WIDGET (scrolled_window), FALSE);
   gtk_widget_set_can_focus (GTK_WIDGET (scrolled_window), TRUE);
index 330fdb229e1a1290a6fb06bc79e52c761add385d..caee68ed24b13b78957dd034fbcf31989734ec18 100644 (file)
@@ -78,9 +78,7 @@
  * Since: 3.10
  */
 
-G_DEFINE_TYPE (GtkSearchBar, gtk_search_bar, GTK_TYPE_BIN)
-
-struct _GtkSearchBarPrivate {
+typedef struct {
   /* Template widgets */
   GtkWidget   *revealer;
   GtkWidget   *toolbar;
@@ -89,7 +87,9 @@ struct _GtkSearchBarPrivate {
 
   GtkWidget   *entry;
   gboolean     reveal_child;
-};
+} GtkSearchBarPrivate;
+
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchBar, gtk_search_bar, GTK_TYPE_BIN)
 
 enum {
   PROP_0,
@@ -141,13 +141,15 @@ entry_key_pressed_event_cb (GtkWidget    *widget,
                             GdkEvent     *event,
                             GtkSearchBar *bar)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
   guint keyval;
 
   if (!gdk_event_get_keyval (event, &keyval) ||
       keyval != GDK_KEY_Escape)
     return GDK_EVENT_PROPAGATE;
 
-  gtk_revealer_set_reveal_child (GTK_REVEALER (bar->priv->revealer), FALSE);
+  gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE);
+
   return GDK_EVENT_STOP;
 }
 
@@ -202,6 +204,7 @@ gboolean
 gtk_search_bar_handle_event (GtkSearchBar *bar,
                              GdkEvent     *event)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
   guint keyval;
   gboolean handled;
   gboolean preedit_changed;
@@ -209,7 +212,7 @@ gtk_search_bar_handle_event (GtkSearchBar *bar,
   gboolean res;
   char *old_text, *new_text;
 
-  if (!bar->priv->entry)
+  if (priv->entry == NULL)
     {
       g_warning ("The search bar does not have an entry connected to it. Call gtk_search_bar_connect_entry() to connect one.");
       return GDK_EVENT_PROPAGATE;
@@ -219,30 +222,30 @@ gtk_search_bar_handle_event (GtkSearchBar *bar,
    * the event doesn't contain a key press,
    * or the event is a navigation or space bar key press
    */
-  if (bar->priv->reveal_child ||
+  if (priv->reveal_child ||
       !gdk_event_get_keyval (event, &keyval) ||
       is_keynav_event (event, keyval) ||
       keyval == GDK_KEY_space)
     return GDK_EVENT_PROPAGATE;
 
-  if (!gtk_widget_get_realized (bar->priv->entry))
-    gtk_widget_realize (bar->priv->entry);
+  if (!gtk_widget_get_realized (priv->entry))
+    gtk_widget_realize (priv->entry);
 
   handled = GDK_EVENT_PROPAGATE;
   preedit_changed = FALSE;
-  preedit_change_id = g_signal_connect (bar->priv->entry, "preedit-changed",
+  preedit_change_id = g_signal_connect (priv->entry, "preedit-changed",
                                         G_CALLBACK (preedit_changed_cb), &preedit_changed);
 
-  old_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (bar->priv->entry)));
-  res = gtk_widget_event (bar->priv->entry, event);
-  new_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (bar->priv->entry)));
+  old_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry)));
+  res = gtk_widget_event (priv->entry, event);
+  new_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry)));
 
-  g_signal_handler_disconnect (bar->priv->entry, preedit_change_id);
+  g_signal_handler_disconnect (priv->entry, preedit_change_id);
 
   if ((res && g_strcmp0 (new_text, old_text) != 0) || preedit_changed)
     {
       handled = GDK_EVENT_STOP;
-      gtk_revealer_set_reveal_child (GTK_REVEALER (bar->priv->revealer), TRUE);
+      gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), TRUE);
     }
 
   g_free (old_text);
@@ -256,18 +259,19 @@ reveal_child_changed_cb (GObject      *object,
                          GParamSpec   *pspec,
                          GtkSearchBar *bar)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
   gboolean reveal_child;
 
   g_object_get (object, "reveal-child", &reveal_child, NULL);
-  if (reveal_child == bar->priv->reveal_child)
+  if (reveal_child == priv->reveal_child)
     return;
 
-  bar->priv->reveal_child = reveal_child;
+  priv->reveal_child = reveal_child;
 
   if (reveal_child)
-    _gtk_entry_grab_focus (GTK_ENTRY (bar->priv->entry), FALSE);
+    _gtk_entry_grab_focus (GTK_ENTRY (priv->entry), FALSE);
   else
-    gtk_entry_set_text (GTK_ENTRY (bar->priv->entry), "");
+    gtk_entry_set_text (GTK_ENTRY (priv->entry), "");
 
   g_object_notify (G_OBJECT (bar), "search-mode-enabled");
 }
@@ -276,7 +280,9 @@ static void
 close_button_clicked_cb (GtkWidget    *button,
                          GtkSearchBar *bar)
 {
-  gtk_revealer_set_reveal_child (GTK_REVEALER (bar->priv->revealer), FALSE);
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
+  gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE);
 }
 
 static void
@@ -284,19 +290,20 @@ gtk_search_bar_add (GtkContainer *container,
                     GtkWidget    *child)
 {
   GtkSearchBar *bar = GTK_SEARCH_BAR (container);
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
 
   /* When constructing the widget, we want the revealer to be added
    * as the first child of the search bar, as an implementation detail.
    * After that, the child added by the application should be added
    * to the toolbar's box_center.
    */
-  if (bar->priv->box_center == NULL)
+  if (priv->box_center == NULL)
     {
       GTK_CONTAINER_CLASS (gtk_search_bar_parent_class)->add (container, child);
     }
   else
     {
-      gtk_container_add (GTK_CONTAINER (bar->priv->box_center), child);
+      gtk_container_add (GTK_CONTAINER (priv->box_center), child);
       /* If an entry is the only child, save the developer a couple of
        * lines of code
        */
@@ -334,11 +341,12 @@ gtk_search_bar_get_property (GObject    *object,
                              GParamSpec *pspec)
 {
   GtkSearchBar *bar = GTK_SEARCH_BAR (object);
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
 
   switch (prop_id)
     {
     case PROP_SEARCH_MODE_ENABLED:
-      g_value_set_boolean (value, bar->priv->reveal_child);
+      g_value_set_boolean (value, priv->reveal_child);
       break;
     case PROP_SHOW_CLOSE_BUTTON:
       g_value_set_boolean (value, gtk_search_bar_get_show_close_button (bar));
@@ -353,12 +361,13 @@ static void
 gtk_search_bar_dispose (GObject *object)
 {
   GtkSearchBar *bar = GTK_SEARCH_BAR (object);
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
 
-  if (bar->priv->entry)
+  if (priv->entry)
     {
-      g_signal_handlers_disconnect_by_func (bar->priv->entry, entry_key_pressed_event_cb, bar);
-      g_object_remove_weak_pointer (G_OBJECT (bar->priv->entry), (gpointer *) &bar->priv->entry);
-      bar->priv->entry = NULL;
+      g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, bar);
+      g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
+      priv->entry = NULL;
     }
 
   G_OBJECT_CLASS (gtk_search_bar_parent_class)->dispose (object);
@@ -408,24 +417,22 @@ gtk_search_bar_class_init (GtkSearchBarClass *klass)
   gtk_widget_class_bind_child_internal (widget_class, GtkSearchBarPrivate, revealer);
   gtk_widget_class_bind_child_internal (widget_class, GtkSearchBarPrivate, box_center);
   gtk_widget_class_bind_child_internal (widget_class, GtkSearchBarPrivate, close_button);
-
-  g_type_class_add_private (klass, sizeof (GtkSearchBarPrivate));
 }
 
 static void
 gtk_search_bar_init (GtkSearchBar *bar)
 {
-  bar->priv = G_TYPE_INSTANCE_GET_PRIVATE (bar, GTK_TYPE_SEARCH_BAR, GtkSearchBarPrivate);
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
 
   gtk_widget_init_template (GTK_WIDGET (bar));
 
-  gtk_widget_show_all (bar->priv->toolbar);
+  gtk_widget_show_all (priv->toolbar);
 
-  g_signal_connect (bar->priv->revealer, "notify::reveal-child",
+  g_signal_connect (priv->revealer, "notify::reveal-child",
                     G_CALLBACK (reveal_child_changed_cb), bar);
 
-  gtk_widget_set_no_show_all (bar->priv->close_button, TRUE);
-  g_signal_connect (bar->priv->close_button, "clicked",
+  gtk_widget_set_no_show_all (priv->close_button, TRUE);
+  g_signal_connect (priv->close_button, "clicked",
                     G_CALLBACK (close_button_clicked_cb), bar);
 };
 
@@ -462,21 +469,23 @@ void
 gtk_search_bar_connect_entry (GtkSearchBar *bar,
                               GtkEntry     *entry)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
   g_return_if_fail (GTK_IS_SEARCH_BAR (bar));
   g_return_if_fail (entry == NULL || GTK_IS_ENTRY (entry));
 
-  if (bar->priv->entry != NULL)
+  if (priv->entry != NULL)
     {
-      g_signal_handlers_disconnect_by_func (bar->priv->entry, entry_key_pressed_event_cb, bar);
-      g_object_remove_weak_pointer (G_OBJECT (bar->priv->entry), (gpointer *) &bar->priv->entry);
-      bar->priv->entry = NULL;
+      g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, bar);
+      g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
+      priv->entry = NULL;
     }
 
   if (entry != NULL)
     {
-      bar->priv->entry = GTK_WIDGET (entry);
-      g_object_add_weak_pointer (G_OBJECT (bar->priv->entry), (gpointer *) &bar->priv->entry);
-      g_signal_connect (bar->priv->entry, "key-press-event",
+      priv->entry = GTK_WIDGET (entry);
+      g_object_add_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
+      g_signal_connect (priv->entry, "key-press-event",
                         G_CALLBACK (entry_key_pressed_event_cb), bar);
     }
 }
@@ -494,9 +503,11 @@ gtk_search_bar_connect_entry (GtkSearchBar *bar,
 gboolean
 gtk_search_bar_get_search_mode (GtkSearchBar *bar)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
   g_return_val_if_fail (GTK_IS_SEARCH_BAR (bar), FALSE);
 
-  return bar->priv->reveal_child;
+  return priv->reveal_child;
 }
 
 /**
@@ -512,9 +523,11 @@ void
 gtk_search_bar_set_search_mode (GtkSearchBar *bar,
                                 gboolean      search_mode)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
   g_return_if_fail (GTK_IS_SEARCH_BAR (bar));
 
-  gtk_revealer_set_reveal_child (GTK_REVEALER (bar->priv->revealer), search_mode);
+  gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), search_mode);
 }
 
 /**
@@ -530,9 +543,11 @@ gtk_search_bar_set_search_mode (GtkSearchBar *bar,
 gboolean
 gtk_search_bar_get_show_close_button (GtkSearchBar *bar)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
   g_return_val_if_fail (GTK_IS_SEARCH_BAR (bar), FALSE);
 
-  return gtk_widget_get_visible (bar->priv->close_button);
+  return gtk_widget_get_visible (priv->close_button);
 }
 
 /**
@@ -551,7 +566,9 @@ void
 gtk_search_bar_set_show_close_button (GtkSearchBar *bar,
                                       gboolean      visible)
 {
+  GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
+
   g_return_if_fail (GTK_IS_SEARCH_BAR (bar));
 
-  gtk_widget_set_visible (bar->priv->close_button, visible);
+  gtk_widget_set_visible (priv->close_button, visible);
 }
index 93112d28fee4224d45d903a77137da01cdd6051d..ea3ae851bcfffbe909f55b17df64b8f87c62c27a 100644 (file)
@@ -44,15 +44,12 @@ G_BEGIN_DECLS
 #define GTK_SEARCH_BAR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEARCH_BAR, GtkSearchBarClass))
 
 typedef struct _GtkSearchBar        GtkSearchBar;
-typedef struct _GtkSearchBarPrivate GtkSearchBarPrivate;
 typedef struct _GtkSearchBarClass   GtkSearchBarClass;
 
 struct _GtkSearchBar
 {
   /*< private >*/
   GtkBin parent;
-
-  GtkSearchBarPrivate *priv;
 };
 
 struct _GtkSearchBarClass
index 7281fcf9b2a5a8adac93c92346b8cedac47b2520..fc8370d30108d572c9775833c928fe49f39717c9 100644 (file)
@@ -55,7 +55,7 @@ struct _GtkSearchEngineQuartzPrivate
   gboolean query_finished;
 };
 
-G_DEFINE_TYPE (GtkSearchEngineQuartz, _gtk_search_engine_quartz, GTK_TYPE_SEARCH_ENGINE);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineQuartz, _gtk_search_engine_quartz, GTK_TYPE_SEARCH_ENGINE)
 
 
 /* Implementation of the objective-C object */
@@ -229,8 +229,6 @@ _gtk_search_engine_quartz_class_init (GtkSearchEngineQuartzClass *class)
   engine_class->start = gtk_search_engine_quartz_start;
   engine_class->stop = gtk_search_engine_quartz_stop;
   engine_class->is_indexed = gtk_search_engine_quartz_is_indexed;
-
-  g_type_class_add_private (gobject_class, sizeof (GtkSearchEngineQuartzPrivate));
 }
 
 static void
@@ -238,7 +236,7 @@ _gtk_search_engine_quartz_init (GtkSearchEngineQuartz *engine)
 {
   QUARTZ_POOL_ALLOC;
 
-  engine->priv = G_TYPE_INSTANCE_GET_PRIVATE (engine, GTK_TYPE_SEARCH_ENGINE_QUARTZ, GtkSearchEngineQuartzPrivate);
+  engine->priv = _gtk_search_engine_quartz_get_instance_private (engine);
 
   engine->priv->ns_query = [[NSMetadataQuery alloc] init];
   engine->priv->receiver = [[ResultReceiver alloc] init];
index 8d0e07f44e6afbca06b0b6683cc22d9193d88cea..1b6aee496e517a5df5618461fa508595dd4915c7 100644 (file)
@@ -68,7 +68,7 @@ struct _GtkSearchEngineSimplePrivate
 };
 
 
-G_DEFINE_TYPE (GtkSearchEngineSimple, _gtk_search_engine_simple, GTK_TYPE_SEARCH_ENGINE);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineSimple, _gtk_search_engine_simple, GTK_TYPE_SEARCH_ENGINE)
 
 static void
 gtk_search_engine_simple_dispose (GObject *object)
@@ -362,14 +362,12 @@ _gtk_search_engine_simple_class_init (GtkSearchEngineSimpleClass *class)
   engine_class->start = gtk_search_engine_simple_start;
   engine_class->stop = gtk_search_engine_simple_stop;
   engine_class->is_indexed = gtk_search_engine_simple_is_indexed;
-
-  g_type_class_add_private (gobject_class, sizeof (GtkSearchEngineSimplePrivate));
 }
 
 static void
 _gtk_search_engine_simple_init (GtkSearchEngineSimple *engine)
 {
-  engine->priv = G_TYPE_INSTANCE_GET_PRIVATE (engine, GTK_TYPE_SEARCH_ENGINE_SIMPLE, GtkSearchEngineSimplePrivate);
+  engine->priv = _gtk_search_engine_simple_get_instance_private (engine);
 }
 
 GtkSearchEngine *
index eae66703e87d941a8a890f870540dc476a5f0f2e..4c3348d7ea0acd3591ac5614ef3786b2b09e434b 100644 (file)
@@ -63,7 +63,7 @@ struct _GtkSearchEngineTrackerPrivate
   gboolean query_pending;
 };
 
-G_DEFINE_TYPE (GtkSearchEngineTracker, _gtk_search_engine_tracker, GTK_TYPE_SEARCH_ENGINE);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineTracker, _gtk_search_engine_tracker, GTK_TYPE_SEARCH_ENGINE)
 
 static void
 finalize (GObject *object)
@@ -449,17 +449,12 @@ _gtk_search_engine_tracker_class_init (GtkSearchEngineTrackerClass *class)
   engine_class->start = gtk_search_engine_tracker_start;
   engine_class->stop = gtk_search_engine_tracker_stop;
   engine_class->is_indexed = gtk_search_engine_tracker_is_indexed;
-
-  g_type_class_add_private (gobject_class,
-                            sizeof (GtkSearchEngineTrackerPrivate));
 }
 
 static void
 _gtk_search_engine_tracker_init (GtkSearchEngineTracker *engine)
 {
-  engine->priv = G_TYPE_INSTANCE_GET_PRIVATE (engine,
-                                              GTK_TYPE_SEARCH_ENGINE_TRACKER,
-                                              GtkSearchEngineTrackerPrivate);
+  engine->priv = _gtk_search_engine_tracker_get_instance_private (engine);
 }
 
 
index c29faab000d028efc4eb74bed46eb72e516e5420..6179dc04d92bee79dcf5d3d1c0447040f2762067 100644 (file)
  * Since: 3.6
  */
 
-G_DEFINE_TYPE (GtkSearchEntry, gtk_search_entry, GTK_TYPE_ENTRY)
-
 typedef struct {
   guint delayed_changed_id;
   gboolean in_timeout;
 } GtkSearchEntryPrivate;
 
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEntry, gtk_search_entry, GTK_TYPE_ENTRY)
+
 /* 150 mseconds of delay */
 #define DELAYED_TIMEOUT_ID 150
 
 /* This widget got created without a private structure, meaning
  * that we cannot now have one without breaking ABI */
-#define GET_PRIV(e) G_TYPE_INSTANCE_GET_PRIVATE (e, GTK_TYPE_SEARCH_ENTRY, GtkSearchEntryPrivate)
+#define GET_PRIV(e) ((GtkSearchEntryPrivate *) gtk_search_entry_get_instance_private ((GtkSearchEntry *) (e)))
 
 static void
 gtk_search_entry_finalize (GObject *object)
@@ -80,8 +80,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
   object_class->finalize = gtk_search_entry_finalize;
-
-  g_type_class_add_private (klass, sizeof (GtkSearchEntryPrivate));
 }
 
 static void
index 8e5bc71612e19d48fd8eecfca1a5991490273525..663c418b81c78b432ac13b799d9918c89f573e17 100644 (file)
@@ -73,8 +73,8 @@ static gboolean   gtk_separator_draw         (GtkWidget      *widget,
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkSeparator, gtk_separator, GTK_TYPE_WIDGET,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
-                                                NULL))
+                         G_ADD_PRIVATE (GtkSeparator)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL))
 
 
 static void
@@ -94,25 +94,18 @@ gtk_separator_class_init (GtkSeparatorClass *class)
   gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_SEPARATOR);
 
   g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
-
-  g_type_class_add_private (object_class, sizeof (GtkSeparatorPrivate));
 }
 
 static void
 gtk_separator_init (GtkSeparator *separator)
 {
-  GtkSeparatorPrivate *private;
   GtkStyleContext *context;
 
-  separator->priv = G_TYPE_INSTANCE_GET_PRIVATE (separator,
-                                                 GTK_TYPE_SEPARATOR,
-                                                 GtkSeparatorPrivate);
-  private = separator->priv;
+  separator->priv = gtk_separator_get_instance_private (separator);
+  separator->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
 
   gtk_widget_set_has_window (GTK_WIDGET (separator), FALSE);
 
-  private->orientation = GTK_ORIENTATION_HORIZONTAL;
-
   context = gtk_widget_get_style_context (GTK_WIDGET (separator));
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_SEPARATOR);
 }
index 33a003a8ef878ec11b98689969b6d4911747e1c9..6199cdd063405fbbd65e8f5448a8151747d27fe8 100644 (file)
@@ -85,7 +85,7 @@ static gboolean gtk_separator_tool_item_button_event      (GtkWidget
                                                            GdkEventButton            *event);
 
 
-G_DEFINE_TYPE (GtkSeparatorToolItem, gtk_separator_tool_item, GTK_TYPE_TOOL_ITEM)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSeparatorToolItem, gtk_separator_tool_item, GTK_TYPE_TOOL_ITEM)
 
 static gint
 get_space_size (GtkToolItem *tool_item)
@@ -142,9 +142,6 @@ gtk_separator_tool_item_class_init (GtkSeparatorToolItemClass *class)
                                                          P_("Whether the separator is drawn, or just blank"),
                                                          TRUE,
                                                          GTK_PARAM_READWRITE));
-  
-
-  g_type_class_add_private (object_class, sizeof (GtkSeparatorToolItemPrivate));
 }
 
 static void
@@ -152,9 +149,7 @@ gtk_separator_tool_item_init (GtkSeparatorToolItem *separator_item)
 {
   GtkStyleContext *context;
 
-  separator_item->priv = G_TYPE_INSTANCE_GET_PRIVATE (separator_item,
-                                                      GTK_TYPE_SEPARATOR_TOOL_ITEM,
-                                                      GtkSeparatorToolItemPrivate);
+  separator_item->priv = gtk_separator_tool_item_get_instance_private (separator_item);
   separator_item->priv->draw = TRUE;
 
   gtk_widget_set_has_window (GTK_WIDGET (separator_item), FALSE);
index e092fcef163f8115d70d43b70eb20172c5948afe..462792657810ad269825ffbcf3fa157893904d0c 100644 (file)
@@ -260,6 +260,7 @@ static guint             class_n_properties = 0;
 
 
 G_DEFINE_TYPE_EXTENDED (GtkSettings, gtk_settings, G_TYPE_OBJECT, 0,
+                        G_ADD_PRIVATE (GtkSettings)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER,
                                                gtk_settings_provider_iface_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER_PRIVATE,
@@ -276,11 +277,9 @@ gtk_settings_init (GtkSettings *settings)
   const gchar * const *config_dirs;
   const gchar *config_dir;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (settings,
-                                      GTK_TYPE_SETTINGS,
-                                      GtkSettingsPrivate);
-
+  priv = gtk_settings_get_instance_private (settings);
   settings->priv = priv;
+
   g_datalist_init (&priv->queued_settings);
   object_list = g_slist_prepend (object_list, settings);
 
@@ -1546,8 +1545,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
                                                                    GTK_PARAM_READWRITE),
                                              NULL);
   g_assert (result == PROP_RECENT_FILES_ENABLED);
-
-  g_type_class_add_private (class, sizeof (GtkSettingsPrivate));
 }
 
 static void
index f84ed47f48c89b44890feb3395f0088bc6690d3f..bb949c65ec946efb943f33b56f4a218d5e548e29 100644 (file)
@@ -151,6 +151,11 @@ G_STATIC_ASSERT (GTK_SIZE_GROUP_HORIZONTAL == (1 << GTK_ORIENTATION_HORIZONTAL))
 G_STATIC_ASSERT (GTK_SIZE_GROUP_VERTICAL == (1 << GTK_ORIENTATION_VERTICAL));
 G_STATIC_ASSERT (GTK_SIZE_GROUP_BOTH == (GTK_SIZE_GROUP_HORIZONTAL | GTK_SIZE_GROUP_VERTICAL));
 
+G_DEFINE_TYPE_WITH_CODE (GtkSizeGroup, gtk_size_group, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkSizeGroup)
+                        G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
+                                               gtk_size_group_buildable_init))
+
 static void
 add_widget_to_closure (GHashTable     *widgets,
                        GHashTable     *groups,
@@ -343,8 +348,6 @@ gtk_size_group_class_init (GtkSizeGroupClass *klass)
                                                            "when determining the size of the group"),
                                                         FALSE,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (klass, sizeof (GtkSizeGroupPrivate));
 }
 
 static void
@@ -352,9 +355,7 @@ gtk_size_group_init (GtkSizeGroup *size_group)
 {
   GtkSizeGroupPrivate *priv;
 
-  size_group->priv = G_TYPE_INSTANCE_GET_PRIVATE (size_group,
-                                                  GTK_TYPE_SIZE_GROUP,
-                                                  GtkSizeGroupPrivate);
+  size_group->priv = gtk_size_group_get_instance_private (size_group);
   priv = size_group->priv;
 
   priv->widgets = NULL;
@@ -369,10 +370,6 @@ gtk_size_group_buildable_init (GtkBuildableIface *iface)
   iface->custom_finished = gtk_size_group_buildable_custom_finished;
 }
 
-G_DEFINE_TYPE_WITH_CODE (GtkSizeGroup, gtk_size_group, G_TYPE_OBJECT,
-                        G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
-                                               gtk_size_group_buildable_init))
-
 static void
 gtk_size_group_set_property (GObject      *object,
                             guint         prop_id,
index c497f5065eaf7936323909bccb456f485ad4f570..f87c31dbd132c36283065aeb3b8174e4cb2cbf5d 100644 (file)
@@ -176,7 +176,7 @@ enum {
 
 static guint socket_signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkSocket, gtk_socket, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSocket, gtk_socket, GTK_TYPE_CONTAINER)
 
 static void
 gtk_socket_finalize (GObject *object)
@@ -255,8 +255,6 @@ gtk_socket_class_init (GtkSocketClass *class)
                   _gtk_boolean_handled_accumulator, NULL,
                  _gtk_marshal_BOOLEAN__VOID,
                  G_TYPE_BOOLEAN, 0);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkSocketPrivate));
 }
 
 static void
@@ -264,10 +262,9 @@ gtk_socket_init (GtkSocket *socket)
 {
   GtkSocketPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (socket,
-                                      GTK_TYPE_SOCKET,
-                                      GtkSocketPrivate);
+  priv = gtk_socket_get_instance_private (socket);
   socket->priv = priv;
+
   priv->request_width = 0;
   priv->request_height = 0;
   priv->current_width = 0;
index ccdccd47faa34dfdd0ae351a982939ec9893e3cb..7af3c48367dd39bff6df1b57b5e933bcb1b864a6 100644 (file)
@@ -291,6 +291,7 @@ static void gtk_spin_button_default_output (GtkSpinButton      *spin_button);
 static guint spinbutton_signals[LAST_SIGNAL] = {0};
 
 G_DEFINE_TYPE_WITH_CODE (GtkSpinButton, gtk_spin_button, GTK_TYPE_ENTRY,
+                         G_ADD_PRIVATE (GtkSpinButton)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE,
                                                 gtk_spin_button_editable_init))
@@ -537,8 +538,6 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
   add_spin_binding (binding_set, GDK_KEY_Page_Up, GDK_CONTROL_MASK, GTK_SCROLL_END);
   add_spin_binding (binding_set, GDK_KEY_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_START);
 
-  g_type_class_add_private (class, sizeof (GtkSpinButtonPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPIN_BUTTON_ACCESSIBLE);
 }
 
@@ -653,9 +652,7 @@ gtk_spin_button_init (GtkSpinButton *spin_button)
   GtkSpinButtonPrivate *priv;
   GtkStyleContext *context;
 
-  spin_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (spin_button,
-                                                   GTK_TYPE_SPIN_BUTTON,
-                                                   GtkSpinButtonPrivate);
+  spin_button->priv = gtk_spin_button_get_instance_private (spin_button);
   priv = spin_button->priv;
 
   priv->adjustment = NULL;
index 06840c88fe441b6674fae97de6a8be4f074583c6..50ae61341ea3e66d24fcb240af547140fb3fec29 100644 (file)
@@ -84,7 +84,7 @@ static void gtk_spinner_get_preferred_height (GtkWidget *widget,
                                         gint            *natural_size);
 
 
-G_DEFINE_TYPE (GtkSpinner, gtk_spinner, GTK_TYPE_WIDGET)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkSpinner, gtk_spinner, GTK_TYPE_WIDGET)
 
 static void
 gtk_spinner_class_init (GtkSpinnerClass *klass)
@@ -93,7 +93,6 @@ gtk_spinner_class_init (GtkSpinnerClass *klass)
   GtkWidgetClass *widget_class;
 
   gobject_class = G_OBJECT_CLASS(klass);
-  g_type_class_add_private (gobject_class, sizeof (GtkSpinnerPrivate));
   gobject_class->get_property = gtk_spinner_get_property;
   gobject_class->set_property = gtk_spinner_set_property;
 
@@ -158,13 +157,9 @@ gtk_spinner_set_property (GObject      *object,
 static void
 gtk_spinner_init (GtkSpinner *spinner)
 {
-  GtkSpinnerPrivate *priv;
   GtkStyleContext *context;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (spinner,
-                                      GTK_TYPE_SPINNER,
-                                      GtkSpinnerPrivate);
-  spinner->priv = priv;
+  spinner->priv = gtk_spinner_get_instance_private (spinner);
 
   gtk_widget_set_has_window (GTK_WIDGET (spinner), FALSE);
 
index c4f64b68b01b5ab0cced0cb4b9e9bc7bf5d7b29d..01e943e49525b190b660000db633d48233a58286 100644 (file)
@@ -172,7 +172,7 @@ static gint     get_bin_window_x                         (GtkStack      *stack,
 static gint     get_bin_window_y                         (GtkStack      *stack,
                                                           GtkAllocation *allocation);
 
-G_DEFINE_TYPE_WITH_PRIVATE(GtkStack, gtk_stack, GTK_TYPE_CONTAINER);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkStack, gtk_stack, GTK_TYPE_CONTAINER)
 
 static void
 gtk_stack_init (GtkStack *stack)
index 833dfde7e1d1b552039e4255175e8b4ab6f6ffe4..aba86139eeef0f60a873bf7216b22d1e1c7785f5 100644 (file)
@@ -53,7 +53,7 @@ enum {
   PROP_STACK
 };
 
-G_DEFINE_TYPE (GtkStackSwitcher, gtk_stack_switcher, GTK_TYPE_BOX);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkStackSwitcher, gtk_stack_switcher, GTK_TYPE_BOX)
 
 static void
 gtk_stack_switcher_init (GtkStackSwitcher *switcher)
@@ -61,7 +61,7 @@ gtk_stack_switcher_init (GtkStackSwitcher *switcher)
   GtkStyleContext *context;
   GtkStackSwitcherPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (switcher, GTK_TYPE_STACK_SWITCHER, GtkStackSwitcherPrivate);
+  priv = gtk_stack_switcher_get_instance_private (switcher);
   switcher->priv = priv;
 
   priv->stack = NULL;
@@ -427,8 +427,6 @@ gtk_stack_switcher_class_init (GtkStackSwitcherClass *class)
                                                         GTK_TYPE_STACK,
                                                         GTK_PARAM_READWRITE |
                                                         G_PARAM_CONSTRUCT));
-
-  g_type_class_add_private (object_class, sizeof (GtkStackSwitcherPrivate));
 }
 
 /**
@@ -443,5 +441,5 @@ gtk_stack_switcher_class_init (GtkStackSwitcherClass *class)
 GtkWidget *
 gtk_stack_switcher_new (void)
 {
-  return GTK_WIDGET (g_object_new (GTK_TYPE_STACK_SWITCHER, NULL));
+  return g_object_new (GTK_TYPE_STACK_SWITCHER, NULL);
 }
index f5398b9ccefc6f8ca52f599e1ef9398c84c19703..643fbe06b07e2aff5f06363179fd0c3d838902bc 100644 (file)
@@ -116,7 +116,7 @@ static void     gtk_statusbar_hierarchy_changed (GtkWidget         *widget,
 
 static guint              statusbar_signals[SIGNAL_LAST] = { 0 };
 
-G_DEFINE_TYPE (GtkStatusbar, gtk_statusbar, GTK_TYPE_BOX);
+G_DEFINE_TYPE_WITH_PRIVATE (GtkStatusbar, gtk_statusbar, GTK_TYPE_BOX)
 
 static void
 gtk_statusbar_class_init (GtkStatusbarClass *class)
@@ -184,8 +184,6 @@ gtk_statusbar_class_init (GtkStatusbarClass *class)
   gtk_widget_class_bind_child (widget_class, GtkStatusbarPrivate, frame);
   gtk_widget_class_bind_child (widget_class, GtkStatusbarPrivate, label);
 
-  g_type_class_add_private (class, sizeof (GtkStatusbarPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_STATUSBAR_ACCESSIBLE);
 }
 
@@ -195,9 +193,7 @@ gtk_statusbar_init (GtkStatusbar *statusbar)
   GtkStatusbarPrivate *priv;
   GtkShadowType shadow_type;
 
-  statusbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (statusbar,
-                                                 GTK_TYPE_STATUSBAR,
-                                                 GtkStatusbarPrivate);
+  statusbar->priv = gtk_statusbar_get_instance_private (statusbar);
   priv = statusbar->priv;
 
   priv->seq_context_id = 1;
index 04bb456376fc5a135cf6ece757ad8e69c360293c..dd21d4bb1fe4b82333955e1e8386c2da63e21833 100644 (file)
@@ -200,7 +200,7 @@ static gboolean gtk_status_icon_button_release   (GtkStatusIcon  *status_icon,
 static void     gtk_status_icon_reset_image_data (GtkStatusIcon  *status_icon);
 static void     gtk_status_icon_update_image    (GtkStatusIcon *status_icon);
 
-G_DEFINE_TYPE (GtkStatusIcon, gtk_status_icon, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkStatusIcon, gtk_status_icon, G_TYPE_OBJECT)
 
 static void
 gtk_status_icon_class_init (GtkStatusIconClass *class)
@@ -637,8 +637,6 @@ gtk_status_icon_class_init (GtkStatusIconClass *class)
                  G_TYPE_INT,
                  G_TYPE_BOOLEAN,
                  GTK_TYPE_TOOLTIP);
-
-  g_type_class_add_private (class, sizeof (GtkStatusIconPrivate));
 }
 
 #ifdef GDK_WINDOWING_WIN32
@@ -836,8 +834,7 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
 {
   GtkStatusIconPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (status_icon, GTK_TYPE_STATUS_ICON,
-                                     GtkStatusIconPrivate);
+  priv = gtk_status_icon_get_instance_private (status_icon);
   status_icon->priv = priv;
 
   priv->icon_helper = _gtk_icon_helper_new ();
index d70aa56a4703e1098df7d4c0b3b513dd08fee078..890688c1b9254b2ed2b0ef2cc41548db658dc692 100644 (file)
@@ -408,7 +408,7 @@ static StyleData *style_data_lookup             (GtkStyleContext *context);
 static void gtk_style_context_disconnect_update (GtkStyleContext *context);
 static void gtk_style_context_connect_update    (GtkStyleContext *context);
 
-G_DEFINE_TYPE (GtkStyleContext, gtk_style_context, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkStyleContext, gtk_style_context, G_TYPE_OBJECT)
 
 static void
 gtk_style_context_real_changed (GtkStyleContext *context)
@@ -476,8 +476,6 @@ gtk_style_context_class_init (GtkStyleContextClass *klass)
                                                         P_("The parent style context"),
                                                         GTK_TYPE_STYLE_CONTEXT,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkStyleContextPrivate));
 }
 
 static StyleData *
@@ -715,9 +713,8 @@ gtk_style_context_init (GtkStyleContext *style_context)
 {
   GtkStyleContextPrivate *priv;
 
-  priv = style_context->priv = G_TYPE_INSTANCE_GET_PRIVATE (style_context,
-                                                            GTK_TYPE_STYLE_CONTEXT,
-                                                            GtkStyleContextPrivate);
+  priv = style_context->priv =
+    gtk_style_context_get_instance_private (style_context);
 
   priv->style_data = g_hash_table_new_full (style_info_hash,
                                             style_info_equal,
index 9788006b1612f5dec65c947af8bdea3d25edf9dd..2e385b3ef65430c8affa262b464f183e8e7b73f4 100644 (file)
@@ -83,11 +83,12 @@ static void gtk_style_properties_provider_private_init (GtkStyleProviderPrivateI
 static void gtk_style_properties_finalize              (GObject                          *object);
 
 
-G_DEFINE_TYPE_EXTENDED (GtkStyleProperties, gtk_style_properties, G_TYPE_OBJECT, 0,
-                        G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER,
-                                               gtk_style_properties_provider_init)
-                        G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER_PRIVATE,
-                                               gtk_style_properties_provider_private_init));
+G_DEFINE_TYPE_WITH_CODE (GtkStyleProperties, gtk_style_properties, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkStyleProperties)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER,
+                                                gtk_style_properties_provider_init)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_STYLE_PROVIDER_PRIVATE,
+                                                gtk_style_properties_provider_private_init));
 
 static void
 gtk_style_properties_class_init (GtkStylePropertiesClass *klass)
@@ -95,8 +96,6 @@ gtk_style_properties_class_init (GtkStylePropertiesClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
   object_class->finalize = gtk_style_properties_finalize;
-
-  g_type_class_add_private (object_class, sizeof (GtkStylePropertiesPrivate));
 }
 
 static PropertyData *
@@ -253,14 +252,9 @@ property_data_match_state (PropertyData  *data,
 static void
 gtk_style_properties_init (GtkStyleProperties *props)
 {
-  GtkStylePropertiesPrivate *priv;
-
-  priv = props->priv = G_TYPE_INSTANCE_GET_PRIVATE (props,
-                                                    GTK_TYPE_STYLE_PROPERTIES,
-                                                    GtkStylePropertiesPrivate);
-
-  priv->properties = g_hash_table_new_full (NULL, NULL, NULL,
-                                            (GDestroyNotify) property_data_free);
+  props->priv = gtk_style_properties_get_instance_private (props);
+  props->priv->properties = g_hash_table_new_full (NULL, NULL, NULL,
+                                                   (GDestroyNotify) property_data_free);
 }
 
 static void
index 17264d69f409b9fcf1f3669b579eb80bb44eab47..c296fe7f6f298d3ca91b44c20ccb1f3115cd094c 100644 (file)
@@ -97,6 +97,7 @@ static void gtk_switch_activatable_interface_init (GtkActivatableIface *iface);
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkSwitch, gtk_switch, GTK_TYPE_WIDGET,
+                         G_ADD_PRIVATE (GtkSwitch)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIONABLE,
                                                 gtk_switch_actionable_iface_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
@@ -809,8 +810,6 @@ gtk_switch_class_init (GtkSwitchClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   gpointer activatable_iface;
 
-  g_type_class_add_private (klass, sizeof (GtkSwitchPrivate));
-
   G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   activatable_iface = g_type_default_interface_peek (GTK_TYPE_ACTIVATABLE);
   G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -900,7 +899,7 @@ gtk_switch_class_init (GtkSwitchClass *klass)
 static void
 gtk_switch_init (GtkSwitch *self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_SWITCH, GtkSwitchPrivate);
+  self->priv = gtk_switch_get_instance_private (self);
   self->priv->use_action_appearance = TRUE;
   gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
   gtk_widget_set_can_focus (GTK_WIDGET (self), TRUE);
index f3f17ffdbea29fd0d8bb67449cc2fc601cbc199a..c1266724a71a98a117dcd9ae358879617ecb8ec8 100644 (file)
@@ -173,7 +173,7 @@ static void gtk_text_buffer_get_property (GObject         *object,
 static void gtk_text_buffer_notify       (GObject         *object,
                                           GParamSpec      *pspec);
 
-G_DEFINE_TYPE (GtkTextBuffer, gtk_text_buffer, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTextBuffer, gtk_text_buffer, G_TYPE_OBJECT)
 
 static void
 gtk_text_buffer_class_init (GtkTextBufferClass *klass)
@@ -626,17 +626,12 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
                   G_TYPE_NONE,
                   1,
                   GTK_TYPE_CLIPBOARD);
-
-  g_type_class_add_private (object_class, sizeof (GtkTextBufferPrivate));
 }
 
 static void
 gtk_text_buffer_init (GtkTextBuffer *buffer)
 {
-  buffer->priv = G_TYPE_INSTANCE_GET_PRIVATE (buffer,
-                                              GTK_TYPE_TEXT_BUFFER,
-                                              GtkTextBufferPrivate);
-
+  buffer->priv = gtk_text_buffer_get_instance_private (buffer);
   buffer->priv->clipboard_contents_buffers = NULL;
   buffer->priv->tag_table = NULL;
 
index bb0f8515353b0be0a0814648007d9d5ef513285d..ead6ecd9610380aecc1bf714cce8bcb688c60942 100644 (file)
@@ -66,7 +66,7 @@ struct _GtkTextHandlePrivate
   guint mode : 2;
 };
 
-G_DEFINE_TYPE (GtkTextHandle, _gtk_text_handle, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTextHandle, _gtk_text_handle, G_TYPE_OBJECT)
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
@@ -535,8 +535,6 @@ _gtk_text_handle_class_init (GtkTextHandleClass *klass)
                                                         P_("Window the coordinates are based upon"),
                                                         GDK_TYPE_WINDOW,
                                                         GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkTextHandlePrivate));
 }
 
 static void
@@ -545,9 +543,7 @@ _gtk_text_handle_init (GtkTextHandle *handle)
   GtkTextHandlePrivate *priv;
   GtkWidgetPath *path;
 
-  handle->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (handle,
-                                                     GTK_TYPE_TEXT_HANDLE,
-                                                     GtkTextHandlePrivate);
+  handle->priv = priv = _gtk_text_handle_get_instance_private (handle);
 
   path = gtk_widget_path_new ();
   gtk_widget_path_append_type (path, GTK_TYPE_TEXT_HANDLE);
index f72f384973577978a0045d57d2942526e0e6bb3f..0e18e8287587841b52d5a139b2fa059fd26d8e07 100644 (file)
@@ -87,7 +87,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define GTK_TEXT_LAYOUT_GET_PRIVATE(o)  (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_TEXT_LAYOUT, GtkTextLayoutPrivate))
+#define GTK_TEXT_LAYOUT_GET_PRIVATE(o)  ((GtkTextLayoutPrivate *) gtk_text_layout_get_instance_private ((o)))
 
 typedef struct _GtkTextLayoutPrivate GtkTextLayoutPrivate;
 
@@ -173,7 +173,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
 
 PangoAttrType gtk_text_attr_appearance_type = 0;
 
-G_DEFINE_TYPE (GtkTextLayout, gtk_text_layout, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTextLayout, gtk_text_layout, G_TYPE_OBJECT)
 
 static void
 gtk_text_layout_dispose (GObject *object)
@@ -271,8 +271,6 @@ gtk_text_layout_class_init (GtkTextLayoutClass *klass)
                   G_TYPE_OBJECT,
                   G_TYPE_INT,
                   G_TYPE_INT);
-  
-  g_type_class_add_private (object_class, sizeof (GtkTextLayoutPrivate));
 }
 
 static void
index 8674e92c9f0cd74a2be7f9a049c56bfc5dd3e026..b7e3c8983508c64a6a115318e8f75911e213b6f6 100644 (file)
@@ -174,7 +174,7 @@ static void gtk_text_tag_get_property (GObject         *object,
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkTextTag, gtk_text_tag, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTextTag, gtk_text_tag, G_TYPE_OBJECT)
 
 static void
 gtk_text_tag_class_init (GtkTextTagClass *klass)
@@ -750,21 +750,13 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
                   G_TYPE_OBJECT,
                   GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE,
                   GTK_TYPE_TEXT_ITER);
-
-  g_type_class_add_private (klass, sizeof (GtkTextTagPrivate));
 }
 
 static void
 gtk_text_tag_init (GtkTextTag *text_tag)
 {
-  GtkTextTagPrivate *priv;
-
-  text_tag->priv = G_TYPE_INSTANCE_GET_PRIVATE (text_tag,
-                                                GTK_TYPE_TEXT_TAG,
-                                                GtkTextTagPrivate);
-  priv = text_tag->priv;
-
-  priv->values = gtk_text_attributes_new ();
+  text_tag->priv = gtk_text_tag_get_instance_private (text_tag);
+  text_tag->priv->values = gtk_text_attributes_new ();
 }
 
 /**
index 73b9124d4bb463368a938893d2d877d972beaf9d..6c9e500c5df86c68f65965f57d8f7087236f08f1 100644 (file)
@@ -92,6 +92,7 @@ static void gtk_text_tag_table_buildable_add_child      (GtkBuildable        *bu
 static guint signals[LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkTextTagTable, gtk_text_tag_table, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkTextTagTable)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_text_tag_table_buildable_interface_init))
 
@@ -151,21 +152,13 @@ gtk_text_tag_table_class_init (GtkTextTagTableClass *klass)
                   G_TYPE_NONE,
                   1,
                   GTK_TYPE_TEXT_TAG);
-
-  g_type_class_add_private (klass, sizeof (GtkTextTagTablePrivate));
 }
 
 static void
 gtk_text_tag_table_init (GtkTextTagTable *table)
 {
-  GtkTextTagTablePrivate *priv;
-
-  table->priv = G_TYPE_INSTANCE_GET_PRIVATE (table,
-                                             GTK_TYPE_TEXT_TAG_TABLE,
-                                             GtkTextTagTablePrivate);
-  priv = table->priv;
-
-  priv->hash = g_hash_table_new (g_str_hash, g_str_equal);
+  table->priv = gtk_text_tag_table_get_instance_private (table);
+  table->priv->hash = g_hash_table_new (g_str_hash, g_str_equal);
 }
 
 /**
index 08c1ab0427db854f49b3fdcb3867da2a88bd1ae6..32e7e403ab180fd54cefe6e839f643c45c3bc07a 100644 (file)
 #define CURSOR_BLINK_TIME        1200
 #define CURSOR_BLINK_TIMEOUT_SEC 10
 
-#define GTK_TEXT_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_TEXT_VIEW, GtkTextViewPrivate))
-
 typedef struct _GtkTextWindow GtkTextWindow;
 typedef struct _GtkTextPendingScroll GtkTextPendingScroll;
 
@@ -594,6 +592,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
 static gboolean test_touchscreen = FALSE;
 
 G_DEFINE_TYPE_WITH_CODE (GtkTextView, gtk_text_view, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkTextView)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
 
 static void
@@ -1446,8 +1445,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
                                "move-focus", 1,
                                GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
 
-  g_type_class_add_private (gobject_class, sizeof (GtkTextViewPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TEXT_VIEW_ACCESSIBLE);
   test_touchscreen = g_getenv ("GTK_TEST_TOUCHSCREEN") != NULL;
 }
@@ -1459,7 +1456,7 @@ gtk_text_view_init (GtkTextView *text_view)
   GtkTargetList *target_list;
   GtkTextViewPrivate *priv;
 
-  text_view->priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
+  text_view->priv = gtk_text_view_get_instance_private (text_view);
   priv = text_view->priv;
 
   gtk_widget_set_can_focus (widget, TRUE);
index 006afe72c64e8b1d17f9e33c1ed1ab47b7adb715..edb493ba6145e09e1e62e7c10a239e50f7d79e51 100644 (file)
@@ -74,8 +74,6 @@ struct GtkThemingEnginePrivate
   gchar *name;
 };
 
-#define GTK_THEMING_ENGINE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_THEMING_ENGINE, GtkThemingEnginePrivate))
-
 static void gtk_theming_engine_finalize          (GObject      *object);
 static void gtk_theming_engine_impl_set_property (GObject      *object,
                                                   guint         prop_id,
@@ -188,8 +186,7 @@ static void gtk_theming_engine_render_icon_surface (GtkThemingEngine *engine,
                                                    gdouble x,
                                                    gdouble y);
 
-G_DEFINE_TYPE (GtkThemingEngine, gtk_theming_engine, G_TYPE_OBJECT)
-
+G_DEFINE_TYPE_WITH_PRIVATE (GtkThemingEngine, gtk_theming_engine, G_TYPE_OBJECT)
 
 typedef struct GtkThemingModule GtkThemingModule;
 typedef struct GtkThemingModuleClass GtkThemingModuleClass;
@@ -266,14 +263,12 @@ gtk_theming_engine_class_init (GtkThemingEngineClass *klass)
                                                         P_("Theming engine name"),
                                                         NULL,
                                                         G_PARAM_CONSTRUCT_ONLY | GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkThemingEnginePrivate));
 }
 
 static void
 gtk_theming_engine_init (GtkThemingEngine *engine)
 {
-  engine->priv = GTK_THEMING_ENGINE_GET_PRIVATE (engine);
+  engine->priv = gtk_theming_engine_get_instance_private (engine);
 }
 
 static void
index 68b92fd4f7048f9e75bfee6b6e8a80394a52ad09..a39e4d57c04b0edb4fd3c7d0c9774a6ec5af56f4 100644 (file)
@@ -65,7 +65,7 @@ enum {
   PROP_ACTIVE
 };
 
-G_DEFINE_TYPE (GtkToggleAction, gtk_toggle_action, GTK_TYPE_ACTION)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkToggleAction, gtk_toggle_action, GTK_TYPE_ACTION)
 
 static void gtk_toggle_action_activate     (GtkAction       *action);
 static void set_property                   (GObject         *object,
@@ -155,16 +155,12 @@ gtk_toggle_action_class_init (GtkToggleActionClass *klass)
                  NULL, NULL,
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkToggleActionPrivate));
 }
 
 static void
 gtk_toggle_action_init (GtkToggleAction *action)
 {
-  action->private_data = G_TYPE_INSTANCE_GET_PRIVATE (action,
-                                                      GTK_TYPE_TOGGLE_ACTION,
-                                                      GtkToggleActionPrivate);
+  action->private_data = gtk_toggle_action_get_instance_private (action);
   action->private_data->active = FALSE;
   action->private_data->draw_as_radio = FALSE;
 }
index 3b9af755eefd9d3819b47f2fde294ba0ad9b5fd3..4697ae9ee4a5abe6c1bb505a864fedbb259970ac 100644 (file)
@@ -141,6 +141,7 @@ static guint                toggle_button_signals[LAST_SIGNAL] = { 0 };
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkToggleButton, gtk_toggle_button, GTK_TYPE_BUTTON,
+                         G_ADD_PRIVATE (GtkToggleButton)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                gtk_toggle_button_activatable_interface_init))
 G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -209,23 +210,16 @@ gtk_toggle_button_class_init (GtkToggleButtonClass *class)
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
 
-  g_type_class_add_private (class, sizeof (GtkToggleButtonPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE);
 }
 
 static void
 gtk_toggle_button_init (GtkToggleButton *toggle_button)
 {
-  GtkToggleButtonPrivate *priv;
-
-  toggle_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (toggle_button,
-                                                     GTK_TYPE_TOGGLE_BUTTON,
-                                                     GtkToggleButtonPrivate);
-  priv = toggle_button->priv;
+  toggle_button->priv = gtk_toggle_button_get_instance_private (toggle_button);
+  toggle_button->priv->active = FALSE;
+  toggle_button->priv->draw_indicator = FALSE;
 
-  priv->active = FALSE;
-  priv->draw_indicator = FALSE;
   GTK_BUTTON (toggle_button)->priv->depress_on_activate = TRUE;
 }
 
index 7c8d22569aba537a4a3c049719879a07a1d088da..4db54aa6293b6e9633a7806b5530867fe809017f 100644 (file)
@@ -92,6 +92,7 @@ static guint                toggle_signals[LAST_SIGNAL] = { 0 };
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkToggleToolButton, gtk_toggle_tool_button, GTK_TYPE_TOOL_BUTTON,
+                         G_ADD_PRIVATE (GtkToggleToolButton)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                gtk_toggle_tool_button_activatable_interface_init))
 G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -142,8 +143,6 @@ gtk_toggle_tool_button_class_init (GtkToggleToolButtonClass *klass)
                  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (object_class, sizeof (GtkToggleToolButtonPrivate));
 }
 
 static void
@@ -152,9 +151,7 @@ gtk_toggle_tool_button_init (GtkToggleToolButton *button)
   GtkToolButton *tool_button = GTK_TOOL_BUTTON (button);
   GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (_gtk_tool_button_get_button (tool_button));
 
-  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                              GTK_TYPE_TOGGLE_TOOL_BUTTON,
-                                              GtkToggleToolButtonPrivate);
+  button->priv = gtk_toggle_tool_button_get_instance_private (button);
 
   /* If the real button is a radio button, it may have been
    * active at the time it was created.
index dcdcf2e32be16d5163fc667bbd61d027ddcb184a..b9c5fa8f61d1de48c7b7ce9bd2c0e7220a70dfdb 100644 (file)
@@ -317,6 +317,7 @@ static void            toolbar_rebuild_menu                 (GtkToolShell
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkToolbar, gtk_toolbar, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkToolbar)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_TOOL_SHELL,
                                                 toolbar_tool_shell_iface_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
@@ -656,8 +657,6 @@ gtk_toolbar_class_init (GtkToolbarClass *klass)
   
   add_ctrl_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);
   add_ctrl_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
-
-  g_type_class_add_private (gobject_class, sizeof (GtkToolbarPrivate));
 }
 
 static void
@@ -676,9 +675,7 @@ gtk_toolbar_init (GtkToolbar *toolbar)
   GtkToolbarPrivate *priv;
   GtkStyleContext *context;
 
-  toolbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (toolbar,
-                                               GTK_TYPE_TOOLBAR,
-                                               GtkToolbarPrivate);
+  toolbar->priv = gtk_toolbar_get_instance_private (toolbar);
   priv = toolbar->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (toolbar), FALSE);
index 10af3cbcb2b7328ada69c1489f30bedb6db359a5..078fbdb0060244437d341b641416adadde29d678 100644 (file)
@@ -83,9 +83,6 @@ enum {
   PROP_ACTION_TARGET
 };
 
-static void gtk_tool_button_init          (GtkToolButton      *button,
-                                          GtkToolButtonClass *klass);
-static void gtk_tool_button_class_init    (GtkToolButtonClass *klass);
 static void gtk_tool_button_set_property  (GObject            *object,
                                           guint               prop_id,
                                           const GValue       *value,
@@ -131,46 +128,20 @@ struct _GtkToolButtonPrivate
   guint contents_invalid : 1;
 };
 
-static GObjectClass        *parent_class = NULL;
 static GtkActivatableIface *parent_activatable_iface;
 static guint                toolbutton_signals[LAST_SIGNAL] = { 0 };
 
-GType
-gtk_tool_button_get_type (void)
-{
-  static GType type = 0;
-  
-  if (!type)
-    {
-      const GInterfaceInfo actionable_info =
-      {
-        (GInterfaceInitFunc) gtk_tool_button_actionable_iface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-      const GInterfaceInfo activatable_info =
-      {
-        (GInterfaceInitFunc) gtk_tool_button_activatable_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static_simple (GTK_TYPE_TOOL_ITEM,
-                                           I_("GtkToolButton"),
-                                           sizeof (GtkToolButtonClass),
-                                           (GClassInitFunc) gtk_tool_button_class_init,
-                                           sizeof (GtkToolButton),
-                                           (GInstanceInitFunc) gtk_tool_button_init,
-                                           0);
+/* for GTK_TYPE_ACTIVATABLE */
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
-      G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
-      g_type_add_interface_static (type, GTK_TYPE_ACTIONABLE, &actionable_info);
-      g_type_add_interface_static (type, GTK_TYPE_ACTIVATABLE,
-                                   &activatable_info);
-      G_GNUC_END_IGNORE_DEPRECATIONS;
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GtkToolButton, gtk_tool_button, GTK_TYPE_TOOL_ITEM,
+                         G_ADD_PRIVATE (GtkToolButton)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIONABLE,
+                                                gtk_tool_button_actionable_iface_init)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
+                                                gtk_tool_button_activatable_interface_init))
+
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 static void
 gtk_tool_button_class_init (GtkToolButtonClass *klass)
@@ -179,8 +150,6 @@ gtk_tool_button_class_init (GtkToolButtonClass *klass)
   GtkWidgetClass *widget_class;
   GtkToolItemClass *tool_item_class;
   
-  parent_class = g_type_class_peek_parent (klass);
-  
   object_class = (GObjectClass *)klass;
   widget_class = (GtkWidgetClass *)klass;
   tool_item_class = (GtkToolItemClass *)klass;
@@ -325,26 +294,21 @@ gtk_tool_button_class_init (GtkToolButtonClass *klass)
                  NULL, NULL,
                  g_cclosure_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-  
-  g_type_class_add_private (object_class, sizeof (GtkToolButtonPrivate));
 }
 
 static void
-gtk_tool_button_init (GtkToolButton      *button,
-                     GtkToolButtonClass *klass)
+gtk_tool_button_init (GtkToolButton *button)
 {
   GtkToolItem *toolitem = GTK_TOOL_ITEM (button);
 
-  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
-                                              GTK_TYPE_TOOL_BUTTON,
-                                              GtkToolButtonPrivate);
+  button->priv = gtk_tool_button_get_instance_private (button);
 
   button->priv->contents_invalid = TRUE;
 
   gtk_tool_item_set_homogeneous (toolitem, TRUE);
 
   /* create button */
-  button->priv->button = g_object_new (klass->button_type, NULL);
+  button->priv->button = g_object_new (GTK_TOOL_BUTTON_GET_CLASS (button)->button_type, NULL);
   gtk_button_set_focus_on_click (GTK_BUTTON (button->priv->button), FALSE);
   g_signal_connect_object (button->priv->button, "clicked",
                           G_CALLBACK (button_clicked), button, 0);
@@ -666,8 +630,8 @@ gtk_tool_button_property_notify (GObject          *object,
       strcmp ("is-important", pspec->name) == 0)
     gtk_tool_button_construct_contents (GTK_TOOL_ITEM (object));
 
-  if (parent_class->notify)
-    parent_class->notify (object, pspec);
+  if (G_OBJECT_CLASS (gtk_tool_button_parent_class)->notify != NULL)
+    G_OBJECT_CLASS (gtk_tool_button_parent_class)->notify (object, pspec);
 }
 
 static void
@@ -768,7 +732,7 @@ gtk_tool_button_finalize (GObject *object)
   if (button->priv->icon_widget)
     g_object_unref (button->priv->icon_widget);
   
-  parent_class->finalize (object);
+  G_OBJECT_CLASS (gtk_tool_button_parent_class)->finalize (object);
 }
 
 static GtkWidget *
@@ -938,7 +902,7 @@ gtk_tool_button_update_icon_spacing (GtkToolButton *button)
 static void
 gtk_tool_button_style_updated (GtkWidget *widget)
 {
-  GTK_WIDGET_CLASS (parent_class)->style_updated (widget);
+  GTK_WIDGET_CLASS (gtk_tool_button_parent_class)->style_updated (widget);
 
   gtk_tool_button_update_icon_spacing (GTK_TOOL_BUTTON (widget));
 }
index 81484526d8e6ef312930bdd99b958e5d28db1c5f..b29a295442b45f950282034f8599b0badfbecc9e 100644 (file)
@@ -155,6 +155,7 @@ static guint toolitem_signals[LAST_SIGNAL] = { 0 };
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
 G_DEFINE_TYPE_WITH_CODE (GtkToolItem, gtk_tool_item, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkToolItem)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
                                                gtk_tool_item_activatable_interface_init))
 G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -275,8 +276,6 @@ gtk_tool_item_class_init (GtkToolItemClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (object_class, sizeof (GtkToolItemPrivate));
 }
 
 static void
@@ -284,15 +283,11 @@ gtk_tool_item_init (GtkToolItem *toolitem)
 {
   gtk_widget_set_can_focus (GTK_WIDGET (toolitem), FALSE);
 
-  toolitem->priv = G_TYPE_INSTANCE_GET_PRIVATE (toolitem,
-                                                GTK_TYPE_TOOL_ITEM,
-                                                GtkToolItemPrivate);
-
+  toolitem->priv = gtk_tool_item_get_instance_private (toolitem);
   toolitem->priv->visible_horizontal = TRUE;
   toolitem->priv->visible_vertical = TRUE;
   toolitem->priv->homogeneous = FALSE;
   toolitem->priv->expand = FALSE;
-
   toolitem->priv->use_action_appearance = TRUE;
 }
 
index dbbe0003921743b8005a8a0e80fb7f03664f2810..3485fa12d28f8623603d42e66c49e6ecc6530a79 100644 (file)
@@ -110,7 +110,9 @@ struct _GtkToolItemGroupChild
 static void gtk_tool_item_group_tool_shell_init (GtkToolShellIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkToolItemGroup, gtk_tool_item_group, GTK_TYPE_CONTAINER,
-G_IMPLEMENT_INTERFACE (GTK_TYPE_TOOL_SHELL, gtk_tool_item_group_tool_shell_init));
+                         G_ADD_PRIVATE (GtkToolItemGroup)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TOOL_SHELL,
+                                                gtk_tool_item_group_tool_shell_init));
 
 static GtkWidget*
 gtk_tool_item_group_get_alignment (GtkToolItemGroup *group)
@@ -381,9 +383,7 @@ gtk_tool_item_group_init (GtkToolItemGroup *group)
 
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (group), FALSE);
 
-  group->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (group,
-                                             GTK_TYPE_TOOL_ITEM_GROUP,
-                                             GtkToolItemGroupPrivate);
+  group->priv = priv = gtk_tool_item_group_get_instance_private (group);
 
   priv->children = NULL;
   priv->header_spacing = DEFAULT_HEADER_SPACING;
@@ -1677,8 +1677,6 @@ gtk_tool_item_group_class_init (GtkToolItemGroupClass *cls)
                                                                 G_MAXINT,
                                                                 0,
                                                                 GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (cls, sizeof (GtkToolItemGroupPrivate));
 }
 
 /**
index 98456fa5504d791e1530a81374e8492ab44893db..f928cff9a713a247adb0f47b156546106917ae53 100644 (file)
@@ -192,18 +192,16 @@ static void gtk_tool_palette_set_vadjustment (GtkToolPalette *palette,
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkToolPalette,
-               gtk_tool_palette,
-               GTK_TYPE_CONTAINER,
-               G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
-              G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
+                         gtk_tool_palette,
+                         GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkToolPalette)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
 
 static void
 gtk_tool_palette_init (GtkToolPalette *palette)
 {
-  palette->priv = G_TYPE_INSTANCE_GET_PRIVATE (palette,
-                                               GTK_TYPE_TOOL_PALETTE,
-                                               GtkToolPalettePrivate);
-
+  palette->priv = gtk_tool_palette_get_instance_private (palette);
   palette->priv->groups = g_ptr_array_sized_new (4);
   g_ptr_array_set_free_func (palette->priv->groups, g_free);
 
@@ -1007,8 +1005,6 @@ gtk_tool_palette_class_init (GtkToolPaletteClass *cls)
                                                                     P_("Whether the item group should receive extra space when the palette grows"),
                                                                     DEFAULT_CHILD_EXPAND,
                                                                     GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (cls, sizeof (GtkToolPalettePrivate));
 }
 
 /**
index 8295161d7758e11fce46bb9e8e4a9710c07302f5..43204c6f25ed2f62d204a3e059e73492df4a8f3b 100644 (file)
@@ -103,7 +103,7 @@ static GdkFilterReturn gtk_tray_icon_manager_filter (GdkXEvent *xevent,
                                                     gpointer   user_data);
 
 
-G_DEFINE_TYPE (GtkTrayIcon, gtk_tray_icon, GTK_TYPE_PLUG)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTrayIcon, gtk_tray_icon, GTK_TYPE_PLUG)
 
 static void
 gtk_tray_icon_class_init (GtkTrayIconClass *class)
@@ -180,16 +180,12 @@ gtk_tray_icon_class_init (GtkTrayIconClass *class)
                                                      G_MAXINT,
                                                      0,
                                                     GTK_PARAM_READABLE));
-
-  g_type_class_add_private (class, sizeof (GtkTrayIconPrivate));
 }
 
 static void
 gtk_tray_icon_init (GtkTrayIcon *icon)
 {
-  icon->priv = G_TYPE_INSTANCE_GET_PRIVATE (icon, GTK_TYPE_TRAY_ICON,
-                                           GtkTrayIconPrivate);
-
+  icon->priv = gtk_tray_icon_get_instance_private (icon);
   icon->priv->stamp = 1;
   icon->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
   icon->priv->fg_color.red        = 0.0;
index 8fef02e6f97af0807ea9c798e7afbf845d2ab28b..5bdf7291599258e764c8dedba97e56fcf84e13d5 100644 (file)
@@ -197,44 +197,16 @@ static guint   tree_menu_signals[N_SIGNALS] = { 0 };
 static GQuark  tree_menu_path_quark = 0;
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, _gtk_tree_menu, GTK_TYPE_MENU,
+                         G_ADD_PRIVATE (GtkTreeMenu)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                 gtk_tree_menu_cell_layout_init));
 
 static void
 _gtk_tree_menu_init (GtkTreeMenu *menu)
 {
-  GtkTreeMenuPrivate *priv;
-
-  menu->priv = G_TYPE_INSTANCE_GET_PRIVATE (menu,
-                                            GTK_TYPE_TREE_MENU,
-                                            GtkTreeMenuPrivate);
-  priv = menu->priv;
-
-  priv->model     = NULL;
-  priv->root      = NULL;
-  priv->area      = NULL;
-  priv->context   = NULL;
-
-  priv->size_changed_id  = 0;
-  priv->row_inserted_id  = 0;
-  priv->row_deleted_id   = 0;
-  priv->row_reordered_id = 0;
-  priv->row_changed_id   = 0;
-
-  priv->wrap_width   = 0;
-  priv->row_span_col = -1;
-  priv->col_span_col = -1;
-
-  priv->menu_with_header = FALSE;
-  priv->tearoff          = FALSE;
-
-  priv->row_separator_func    = NULL;
-  priv->row_separator_data    = NULL;
-  priv->row_separator_destroy = NULL;
-
-  priv->header_func    = NULL;
-  priv->header_data    = NULL;
-  priv->header_destroy = NULL;
+  menu->priv = _gtk_tree_menu_get_instance_private (menu);
+  menu->priv->row_span_col = -1;
+  menu->priv->col_span_col = -1;
 
   gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE);
 }
@@ -410,8 +382,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
                                                      G_MAXINT,
                                                      -1,
                                                      GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate));
 }
 
 /****************************************************************
index 45281c298a8532e5805d68de4b2041d59729be86..e8fd57c3d06e0de77065d52ad941818a14b67e9a 100644 (file)
@@ -497,6 +497,7 @@ static void         gtk_tree_model_filter_emit_row_inserted_for_path      (GtkTr
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeModelFilter, gtk_tree_model_filter, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkTreeModelFilter)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
                                                gtk_tree_model_filter_tree_model_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
@@ -505,10 +506,7 @@ G_DEFINE_TYPE_WITH_CODE (GtkTreeModelFilter, gtk_tree_model_filter, G_TYPE_OBJEC
 static void
 gtk_tree_model_filter_init (GtkTreeModelFilter *filter)
 {
-  filter->priv = G_TYPE_INSTANCE_GET_PRIVATE (filter,
-                                              GTK_TYPE_TREE_MODEL_FILTER,
-                                              GtkTreeModelFilterPrivate);
-
+  filter->priv = gtk_tree_model_filter_get_instance_private (filter);
   filter->priv->visible_column = -1;
   filter->priv->zero_ref_count = 0;
   filter->priv->visible_method_set = FALSE;
@@ -550,8 +548,6 @@ gtk_tree_model_filter_class_init (GtkTreeModelFilterClass *filter_class)
                                                        ("The virtual root (relative to the child model) for this filtermodel"),
                                                        GTK_TYPE_TREE_PATH,
                                                        GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (object_class, sizeof (GtkTreeModelFilterPrivate));
 }
 
 static void
index a3545e99b9142ed08a24d46077037314b7a6d364..4033dbbc5ea1ac4cec4abca38d1f072bdb198e4e 100644 (file)
@@ -447,6 +447,7 @@ static void         gtk_tree_model_sort_clear_cache_helper  (GtkTreeModelSort *t
 
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeModelSort, gtk_tree_model_sort, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkTreeModelSort)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
                                                gtk_tree_model_sort_tree_model_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE,
@@ -459,10 +460,8 @@ gtk_tree_model_sort_init (GtkTreeModelSort *tree_model_sort)
 {
   GtkTreeModelSortPrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_model_sort,
-                                      GTK_TYPE_TREE_MODEL_SORT,
-                                      GtkTreeModelSortPrivate);
-  tree_model_sort->priv = priv;
+  tree_model_sort->priv = priv =
+    gtk_tree_model_sort_get_instance_private (tree_model_sort);
   priv->sort_column_id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
   priv->stamp = 0;
   priv->zero_ref_count = 0;
@@ -490,8 +489,6 @@ gtk_tree_model_sort_class_init (GtkTreeModelSortClass *class)
                                                        P_("The model for the TreeModelSort to sort"),
                                                        GTK_TYPE_TREE_MODEL,
                                                        GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (class, sizeof (GtkTreeModelSortPrivate));
 }
 
 static void
index 10c9cd717a6908cf686251f22bd0ee58fb1e49d4..65c09900c8fb28019d1f539004cddfdb3f7028d0 100644 (file)
@@ -101,7 +101,7 @@ enum
 static GParamSpec *properties[N_PROPERTIES];
 static guint tree_selection_signals [LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (GtkTreeSelection, gtk_tree_selection, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkTreeSelection, gtk_tree_selection, G_TYPE_OBJECT)
 
 static void
 gtk_tree_selection_class_init (GtkTreeSelectionClass *class)
@@ -155,21 +155,13 @@ gtk_tree_selection_class_init (GtkTreeSelectionClass *class)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
-
-  g_type_class_add_private (class, sizeof (GtkTreeSelectionPrivate));
 }
 
 static void
 gtk_tree_selection_init (GtkTreeSelection *selection)
 {
-  GtkTreeSelectionPrivate *priv;
-
-  selection->priv = G_TYPE_INSTANCE_GET_PRIVATE (selection,
-                                                 GTK_TYPE_TREE_SELECTION,
-                                                 GtkTreeSelectionPrivate);
-  priv = selection->priv;
-
-  priv->type = GTK_SELECTION_SINGLE;
+  selection->priv = gtk_tree_selection_get_instance_private (selection);
+  selection->priv->type = GTK_SELECTION_SINGLE;
 }
 
 static void
index ccf240911f36d4b33e5dd845aa86a8d8a6d0b5c4..de76a8f045b8a0344fc8bc10594d2913bf4320f4 100644 (file)
@@ -205,6 +205,7 @@ validate_tree (GtkTreeStore *tree_store)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeStore, gtk_tree_store, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkTreeStore)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
                                                gtk_tree_store_tree_model_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
@@ -224,8 +225,6 @@ gtk_tree_store_class_init (GtkTreeStoreClass *class)
   object_class = (GObjectClass *) class;
 
   object_class->finalize = gtk_tree_store_finalize;
-
-  g_type_class_add_private (class, sizeof (GtkTreeStorePrivate));
 }
 
 static void
@@ -283,9 +282,7 @@ gtk_tree_store_init (GtkTreeStore *tree_store)
 {
   GtkTreeStorePrivate *priv;
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_store,
-                                      GTK_TYPE_TREE_STORE,
-                                      GtkTreeStorePrivate);
+  priv = gtk_tree_store_get_instance_private (tree_store);
   tree_store->priv = priv;
   priv->root = g_node_new (NULL);
   /* While the odds are against us getting 0...  */
index 8a87f519f34dccd41d55fec679550c707fb5b22f..e857094e0037b9fb22077987cdb47c81431a2a01 100644 (file)
@@ -907,6 +907,7 @@ static guint tree_view_signals [LAST_SIGNAL] = { 0 };
  */
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeView, gtk_tree_view, GTK_TYPE_CONTAINER,
+                         G_ADD_PRIVATE (GtkTreeView)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_tree_view_buildable_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
@@ -1715,15 +1716,13 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
 
   gtk_binding_entry_add_signal (binding_set, GDK_KEY_F, GDK_CONTROL_MASK, "start-interactive-search", 0);
 
-  g_type_class_add_private (o_class, sizeof (GtkTreeViewPrivate));
-
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TREE_VIEW_ACCESSIBLE);
 }
 
 static void
 gtk_tree_view_init (GtkTreeView *tree_view)
 {
-  tree_view->priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_view, GTK_TYPE_TREE_VIEW, GtkTreeViewPrivate);
+  tree_view->priv = gtk_tree_view_get_instance_private (tree_view);
 
   gtk_widget_set_can_focus (GTK_WIDGET (tree_view), TRUE);
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (tree_view), FALSE);
index d1f02aead4ebad51ee1d70dcc5a3efd4aec78f3a..ff3b46c9035155eca0318da0f54f7b2797da3733 100644 (file)
@@ -209,6 +209,7 @@ enum
 static guint tree_column_signals[LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkTreeViewColumn, gtk_tree_view_column, G_TYPE_INITIALLY_UNOWNED,
+                         G_ADD_PRIVATE (GtkTreeViewColumn)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT,
                                                gtk_tree_view_column_cell_layout_init)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
@@ -425,8 +426,6 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class)
                                                        P_("The GtkCellArea used to layout cells"),
                                                        GTK_TYPE_CELL_AREA,
                                                        GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
-  g_type_class_add_private (class, sizeof (GtkTreeViewColumnPrivate));
 }
 
 static void
@@ -459,9 +458,7 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column)
 {
   GtkTreeViewColumnPrivate *priv;
 
-  tree_column->priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_column,
-                                                  GTK_TYPE_TREE_VIEW_COLUMN,
-                                                  GtkTreeViewColumnPrivate);
+  tree_column->priv = gtk_tree_view_column_get_instance_private (tree_column);
   priv = tree_column->priv;
 
   priv->button = NULL;
index 4d853409290d692c37cfbdaf8f40ba967d0f469d..37e4ef7a89a09a64e4d1cdf8b7ddd195ad8ccf8d 100644 (file)
@@ -448,6 +448,7 @@ enum
 static guint ui_manager_signals[LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (GtkUIManager, gtk_ui_manager, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (GtkUIManager)
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_ui_manager_buildable_init))
 
@@ -646,20 +647,15 @@ gtk_ui_manager_class_init (GtkUIManagerClass *klass)
   klass->disconnect_proxy = NULL;
   klass->pre_activate = NULL;
   klass->post_activate = NULL;
-
-  g_type_class_add_private (gobject_class, sizeof (GtkUIManagerPrivate));
 }
 
-
 static void
 gtk_ui_manager_init (GtkUIManager *manager)
 {
   guint merge_id;
   GNode *node;
 
-  manager->private_data = G_TYPE_INSTANCE_GET_PRIVATE (manager,
-                                                       GTK_TYPE_UI_MANAGER,
-                                                       GtkUIManagerPrivate);
+  manager->private_data = gtk_ui_manager_get_instance_private (manager);
 
   manager->private_data->accel_group = gtk_accel_group_new ();
 
index 20120f6b2d396571dfdd2597815c35d785f680a9..1176cf75a3e3ab63c6069a26a75872900a4ff131 100644 (file)
@@ -120,6 +120,7 @@ static void gtk_viewport_queue_draw_region        (GtkWidget        *widget,
                                                   const cairo_region_t *region);
 
 G_DEFINE_TYPE_WITH_CODE (GtkViewport, gtk_viewport, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkViewport)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
 
 static void
@@ -164,8 +165,6 @@ gtk_viewport_class_init (GtkViewportClass *class)
                                                      GTK_TYPE_SHADOW_TYPE,
                                                      GTK_SHADOW_IN,
                                                      GTK_PARAM_READWRITE));
-
-  g_type_class_add_private (class, sizeof (GtkViewportPrivate));
 }
 
 static void
@@ -240,9 +239,7 @@ gtk_viewport_init (GtkViewport *viewport)
 {
   GtkViewportPrivate *priv;
 
-  viewport->priv = G_TYPE_INSTANCE_GET_PRIVATE (viewport,
-                                                GTK_TYPE_VIEWPORT,
-                                                GtkViewportPrivate);
+  viewport->priv = gtk_viewport_get_instance_private (viewport);
   priv = viewport->priv;
 
   gtk_widget_set_has_window (GTK_WIDGET (viewport), TRUE);
index f2a7005575980671300e14839e43cbaf39693b9f..9997e578e0340876e67472e1c5312765501a2e41 100644 (file)
@@ -856,6 +856,7 @@ static void gtk_cairo_set_event (cairo_t        *cr,
                                 GdkEventExpose *event);
 
 /* --- variables --- */
+static gint             GtkWidget_private_offset = 0;
 static gpointer         gtk_widget_parent_class = NULL;
 static guint            widget_signals[LAST_SIGNAL] = { 0 };
 static guint            composite_child_stack = 0;
@@ -926,6 +927,9 @@ gtk_widget_get_type (void)
 
       g_type_add_class_private (widget_type, sizeof (GtkWidgetClassPrivate));
 
+      GtkWidget_private_offset =
+        g_type_add_instance_private (widget_type, sizeof (GtkWidgetPrivate));
+
       g_type_add_interface_static (widget_type, ATK_TYPE_IMPLEMENTOR,
                                    &accessibility_info) ;
       g_type_add_interface_static (widget_type, GTK_TYPE_BUILDABLE,
@@ -935,6 +939,12 @@ gtk_widget_get_type (void)
   return widget_type;
 }
 
+static inline gpointer
+gtk_widget_get_instance_private (GtkWidget *self)
+{
+  return (G_STRUCT_MEMBER_P (self, GtkWidget_private_offset));
+}
+
 static void
 gtk_widget_base_class_init (gpointer g_class)
 {
@@ -1017,6 +1027,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GtkBindingSet *binding_set;
 
+  g_type_class_adjust_private_offset (klass, &GtkWidget_private_offset);
   gtk_widget_parent_class = g_type_class_peek_parent (klass);
 
   quark_property_parser = g_quark_from_static_string ("gtk-rc-property-parser");
@@ -3552,8 +3563,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS
                                                              1, G_MAXINT, 20,
                                                              GTK_PARAM_READABLE));
 
-  g_type_class_add_private (klass, sizeof (GtkWidgetPrivate));
-
   gtk_widget_class_set_accessible_type (klass, GTK_TYPE_WIDGET_ACCESSIBLE);
 }
 
@@ -3915,9 +3924,7 @@ gtk_widget_init (GtkWidget *widget)
 {
   GtkWidgetPrivate *priv;
 
-  widget->priv = G_TYPE_INSTANCE_GET_PRIVATE (widget,
-                                              GTK_TYPE_WIDGET,
-                                              GtkWidgetPrivate);
+  widget->priv = gtk_widget_get_instance_private (widget); 
   priv = widget->priv;
 
   priv->child_visible = TRUE;
index 497dde838c2e5b49ecacb00b4c568671d9aee44e..3d0847c03075630b967e1e592f259e70cc79e0e5 100644 (file)
@@ -547,6 +547,7 @@ static void ensure_state_flag_backdrop (GtkWidget *widget);
 static void unset_titlebar (GtkWindow *window);
 
 G_DEFINE_TYPE_WITH_CODE (GtkWindow, gtk_window, GTK_TYPE_BIN,
+                         G_ADD_PRIVATE (GtkWindow)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                gtk_window_buildable_interface_init))
 
@@ -673,8 +674,6 @@ gtk_window_class_init (GtkWindowClass *klass)
   klass->activate_focus = gtk_window_real_activate_focus;
   klass->keys_changed = gtk_window_keys_changed;
 
-  g_type_class_add_private (gobject_class, sizeof (GtkWindowPrivate));
-
   /* Construct */
   g_object_class_install_property (gobject_class,
                                    PROP_TYPE,
@@ -1280,9 +1279,7 @@ gtk_window_init (GtkWindow *window)
 
   widget = GTK_WIDGET (window);
 
-  window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window,
-                                              GTK_TYPE_WINDOW,
-                                              GtkWindowPrivate);
+  window->priv = gtk_window_get_instance_private (window);
   priv = window->priv;
 
   gtk_widget_set_has_window (widget, TRUE);
@@ -9877,20 +9874,17 @@ gtk_window_has_toplevel_focus (GtkWindow *window)
  * freed.
  */
 
-G_DEFINE_TYPE (GtkWindowGroup, gtk_window_group, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GtkWindowGroup, gtk_window_group, G_TYPE_OBJECT)
 
 static void
 gtk_window_group_init (GtkWindowGroup *group)
 {
-  group->priv = G_TYPE_INSTANCE_GET_PRIVATE (group,
-                                             GTK_TYPE_WINDOW_GROUP,
-                                             GtkWindowGroupPrivate);
+  group->priv = gtk_window_group_get_instance_private (group);
 }
 
 static void
 gtk_window_group_class_init (GtkWindowGroupClass *klass)
 {
-  g_type_class_add_private (klass, sizeof (GtkWindowGroupPrivate));
 }
 
 /**